Externalized GSON config & Buildeer based ClientConfig

+ GSON instance can now be externally set on JestClient or through ClientConfig, as well as on Bulk and Sort classes. (in response to #44 )

+ refactored ClientConfig to use builder. updated tests and readme accordingly.