Start on Date classes

NOTE: This pull request is NOT ready to be merged. I'm just looking for feedback on how to proceed at this point.

Would you prefer one big squashed commit? Lots of small commits in a branch? A pull request each step of the way?

How do you feel about the nested classes (like Date::Interval) -- I'm really liking them.

Any and all feedback appreciated. I've been sitting on this for a while, and would like to resurrect it to contribute it.
Can anyone figure out how to collapse these 2 initializers into 1? I tried several times, but couldn't get the type inference to allow assigning `calendar` and `calendar.new` to `@calendar`. I think an `is_a?` type filter would work, but the type of the default calendar instance seems to be erroneously be returning `true` for `is_a?(Class)'. I filed issue #162 for that.