KNL-1554 Refactor of time service to aid deprecation (#4895) * KNL-1554 Refactor of time service to aid deprecation
This splits out a new API called UserTimeService which is just responsible for getting the user’s timezone at the moment. This allows the main TimeService to be deprecated and any place that uses TimeService to just get the user’s timezone can switch to using UserTimeService.
This also makes the current TimeService more testable as it doesn’t actually need the whole kernel to be running, just mock instances of 2 helpers that can be easily mocked with Mockito (or similar).
This also makes the classes more focused (Single Responsibility Principal).
Make most -impl projects of type sakai-component which means we have less modules in the build and our build is smaller.
There were some references left to the -impl projects from things other than -pack projects. These have been refactored, either by moving the code, removing the unused dependency or in a couple of cases re-writing a tiny bit of code. When deploying don’t create lots of small files which slows down the deployment for me.