Start making JSON serialization/deserialization less horrible by
creating proper format objects for the main models.
More work on JSON refactoring.
Added JSON Format for Annotation
More cautious JSON refactoring, taking place in stages. Serialization
now proxied in the model to the new Format object.