Refactored JsonObject to not be InsertionMap based.

The summing up of this is mostly that we get a 25% boost to printing performance by making ordering optional, at a cost of maybe 2% to parsing performance. However my intuition is that a lot of the processing done to a JsonObject like looking up fields should be a chunk faster as most operations on JsonObject should be a lot faster.

This also includes a change to PrettyParams to reflect the choice in maintaining order (which defaults to false) and a binary breaking change to JsonObject itself that gives us .toMap and .toInsertionMap, rather than the former which has the signature of the latter.