Use a TreeMap in JsonObject instead of HashMap.

We have a bunch of tests that were relying on the arbitrary iteration ordering
of HashMap, which changed from JDK7 to JDK8. So rather than take the pain of
rewriting all those tests to compare maps properly, I'm just switching to a
TreeMap inside JsonObject and fixing the couple of tests that didn't happen to
already be in sorted order.