Add a handful of date-related utility methods

These came from a formerly tested source, however I haven't re-tested they're all correct after integrating here.  I'll take care of that later, unless somebody else gets to it first :wink: 

* isLeapYear()
* daysInMonth()
* daysInYear()
* whatWeekday()

I made them all pure so they can be used with stored values.  For
example, calculating durations across month/year boundariess in
arbitrary terms (i.e. days, minutes, seconds, etc).  This also
helps provide enough information to fill out the standard time_t
structure.

Signed-off-by: Chris Evich <chris-arduino@anonomail.me>