Make sure RichDate is immutable (and cleanups)

I'd like to do more, but in the interest of compatibility, some
warts will stay.
Remove duplicated tests
Merge pull request #500 from twitter/richdate-cleanup

Make sure RichDate is immutable (and cleanups)