Initial commit.

Almost final state. Just fixed bug where DST fix made hours negative
during the 12am hour.