Separated out JSON adapters into their own classes.

Rather than living awkwardly inside the JsonUtils class
Product tests fleshed out, including test for the deserializer.
Finished Product serialization.

Custom serializer required as the source JSON is bogus (i.e. with an
root "product" element which GSON doesn't really like).
Fix bug on error responses (and massive white space shuffle - IDE...)
Remove debugging log lines, and bit of a tidy

Also set default timeouts to 5 seconds.
Started implementing ProductService - does get and update.
Change startup log line to output the full toString on XivelyClient.
Remove unused method.
Implemented all basic CRUD operations on ProductService.
Allow setting params on XivelyRequest instances.
Add sample json for devices and products.
Minor refactor to XivelyClient to handle list requests better.
Continuing work on Products and Devices + general changes

* products service now does all actions (including listing products)