Cleanup

Hi,

As discussed in other thread, I kept Guzzle. This PR:

* Rename some methods for consistency purposes and because it makes more sense.
* Validation of keys have been moved Guzzle instead of doing it in the client.
* Switch the service descriptor from JSON to PHP: the overhead of json decoding such a big file is not worth it.
* Allow to use writeKey in all methods, and reuse the writeKey for creating and decrypting scoped key.
* Various cleanup.

Obviously, this contains some BC so it needs to be tagged as v2