Changed 60 min/sec warnings to their own warning class

This is a follow-on to #990 - that made it so that setting a minutes or seconds to 60 issues a warnings instead of an error.  This just changes that to add a custom warning class instead of just a string `UserError`.  

It also makes the same behavior happen for when hours are 24.

The major change was in #990 by @lpsinger and this just slightly cleans up how that works, so I'll merge this shortly if there are no objections.