Add support for setting IContractResolver to use CamelCasePropertyNamesContractResolver

Adding support for CamelCasePropertyNamesContractResolver to allow camel casing of JSON serialization. This is an opt-in, consumers can set GraphClient.JsonContractResolver. Test added and updated.

I was planning on adding support for Deserialization next - however it looks like GetPropertiesForType has no simple way of refactoring, any thoughts would be greatly appreciated, it is looking like the public static structure of CustomDeserializer is going to make it a little time consuming to implement.

In it's current form this pull request should *not* be merged until deserialization support is added, won't cause an error, just won't deserialize as expected!