Support directly (de)serializing DataElements with Jackson
Created by: dbluhm
This PR shuffles around our serialization logic to enable directly serializing or deserializing DataElements using Jackson. This will hopefully enable better integration of DataElements with other frameworks such as Drop Wizard.
As a summary of the changes, rather than directly interacting with JsonNode
s, DataElements are now annotated to inform Jackson how to serialize it. DataElements are now also generated with a constructor annotated with @JsonCreator
to mark it as the constructor to use for deserialization.