Adds support for ImmutableMap in jclouds gson

Specifically making sure deserialization works properly.
A minor on the naming and location:

* move the constructor arg to a position _after_ all the TypeAdapterFactories? At first glance I thought this new argument was a TAF like all the others
* I know it implements JsonDeserializer, but call it ImmutableMapTypeAdapter since we're going to register it as a type adapter?