Smarter timezones

I made some changes to user model and created mail schedule. I don't think the preferred hours, timezones and minutes shouldn't be kept there.

Here are my reasons:
* It would be much easier to deal with validations on creation of user than writing some conditionals, confident code.
* This logic should belong to mail schedule as that makes more sense for this kind of entity to deal with that data.
* As application grows and mail scheduling becomes more complicated it will be much easier to maintain this code.