Fix datetime UTC conversions (ENG-4019)

Previous behaviour assumed unspecified datetimes were local, and converted to UTC. That means most simple datetimes would not roundtrip. New code assumes UTC datetimes, unless explicitly specified as local. 

Apps should pass UTC dates in general. If they need local times, they need to store a separate field with offset information and handle conversions in app code.