Date fixes

Here are some fixes to some of the problems discussed in Issue #2845. Sorry I worked off of the master branch.

I consolidated all the "magic numbers" into a central location so they are consistent and easy to update if necessary, and I updated the `to_ordinalf` and `from_ordinalf` functions to use `datetime.timedelta` rather than deal with converting fractional days to datetime objects and vice versa.