Make all tests green

There were problems in the tests themselves, some bugs in the type inference code, bugs in the date parsing, and missing equal and gethashcode overloads that all caused tests to fail. All tests pass now