Convert multi-word underscore keys to camel case

Currently, values that come back from calls like `https://www.googleapis.com/oauth2/v2/userinfo` or `https://www.googleapis.com/oauth2/v2/tokeninfo` don't quite work properly because the API returns some keys in snake_case, and the properties are defined on the corresponding models in camelCase. This means Google_Model->mapTypes doesn't map these keys and the getters on the corresponding model always return null.

For example, userinfo gives this back:

```
{
 "id": "123456",
 "email": "example@example.com",
 "verified_email": true,
 "name": "John Doe",
 "given_name": "John",
 "family_name": "Doe",
 "link": "https://plus.google.com/123456",
 "picture": "https://lh3.googleusercontent.com/abc123/photo.jpg",
 "gender": "male",
 "locale": "en"
}
```

But the matching model is defined as so:

```
class Google_Service_Oauth2_Userinfo extends Google_Model
{
  public $email;
  public $familyName;
  public $gender;
  public $givenName;
  public $hd;
  public $id;
  public $link;
  public $locale;
  public $name;
  public $picture;
  public $timezone;
  public $verifiedEmail;
}
```

... and `$familyName`, `$givenName`, and `$verifiedEmail` never get set and will always return null because `mapTypes()` doesn't map them since the casing is different.

This PR checks for the existence of the key as a camelCase property when running mapTypes, and assigns the value to that key if it exists.