DSND-2801: Fix null fields on response and kafka message (#127)
* DSND-2801: WIP - Remove null fields
* Tests failing.
* DSND-2801: Refactor object mapper
* DSND-2801: Fix broken unit tests
* DSND-2801: Add comment
* This comment explains why we read and write using the object
mapper. The reason is so that jackson removes any null fields
when serialising to a String. We can then deserialise that back
into a plain Java object with no null fields and put the object
in the resource changed message for the stream.