Modified Date types to allow use of Float for definitive periods.

modified Types such that Year and Month are part of CalendarPeriod wrapp...ed around Int
Week, Day, Hour, Minute, Second are wrapped around Real to allow for both Int and Float types
Millisecond remained wrapped around Int
Ref Issue #9393
I had a bunch of issues with making `Week`, `Day`, `Hour`, etc. strictly Float64. Specifically when testing ranges, which is why I ended up making these `Real`