JSON in, message pack out.

* Also made data encoding a bit more self-contained.
data is now a separate go package so I can reuse it in client apps
Client script sends tz offset for testing.
Merge branch 'msgpack'