returning error responses to client in the event of any type of exception
adding support for deserialization of null values, as well as recursively deserializing the contents of maps and arrays
Merge remote-tracking branch 'bdeggleston/master'
Minor refactoring/reformatting.