Initial WIP on new client API.

This PR is intended to be the first (and arguably the biggest) step towards the new client API outlined here: https://github.com/orchestrate-io/orchestrate-java-client/issues/13.

I've only included the work on KV GET operations but both the sync and async API work. I want to get feedback on this code as early as possible and also before it gets much bigger.

A sample of this functionality looks like so:
```java
final String apiKey = "your api key";
final NewClient client = OrchestrateClient.builder(apiKey).build();
client.kv("integration-tests", "key")
        .get(String.class)
        .on(new ResponseAdapter<KvObject<String>>() {
            @Override
            public void onSuccess(final KvObject<String> object) {
                System.out.println(object);
            }
        })
        .executeAsync();
```

There's a few noteworthy things to mention:
* So as not to break the codebase on `master` I've completely isolated this new code from conflicting with the existing API:
  * `NewClient` will become `Client`
  * `NewClientFilter` will become `ClientFilter`
  * `OrchestrateFuture` (and `OrchestrateFutureImpl`) will disappear as I've moved us over to `GrizzlyFuture` internally.
  * Other small name changes may occur
* When we make the final switchover I'll remove all the `*Operation` classes.
* At the moment the internal structure of the new API pushes the serialisation work pretty far up the stack which has the consequence that each `ResponseCompletionHandler` is deserializing the response data in the listener `Set`. I think `ObjectMapper` does a lot of caching which should mitigate this problem but I'll find a neater solution at some point.
* There's still a few `FIXME` scattered throughout the code that'll be addressed before release time.
* I'm in the middle of adding the rest of the Orchestrate API to this new client API design.
* I'm adding a lot of testing code as I go along at the moment which should give us much more complete test coverage.
* There's a lot of javadoc for me to complete which'll happen before we release.

@housejester Let me know what you think.