Add .gitignore
Update .gitignore
Clean up Date/DateTime type internals.
Clean up Period type internals
Cleanup Period internals, constructors, conversions, and promotions.
Optimize Date-DateTime conversions. Also add missing Date-DateTime isless/isequal and promote.
Fix firstdayofmonth and lastdayofmonth
Clean up method names.
Update tests