Rewrite DateFormatter to use timezone passed in from config

Allows us to get rid of the ugly builder interface, which is nice. The
implementation is also simplified by storing the ThreadLocals in the
Format enum, since we were previously just storing a mapping of enum
to cached DateFormat anyway.

Change-Id: I59e4a64e426a05ea822b736a1770c54b8174f4ae
15 files changed