Extract time and date concerns from User

This extracts all of the date and time concerns from the `User` class into its own class called `UserTime`. I've left `User#date` in for now, since that refactoring has a very large footprint, but it's just delegated to `UserTime#date`