Add HipChat API v2 support

See https://www.hipchat.com/docs/apiv2/method/send_room_notification

Using the information above, send a straightforward HTTP POST request
with the V2 API to send notifications.

The API version is automatically detected by the length of the token
provided. According to the support email I received, V1 tokens are 30
characters long. The mail did not specify the length for V2 tokens, but
it seems safe to assume they are 40 characters long.

The following changes in V2 are noted:

1. Content-Type header must be set to `application/json`
2. Request will be formed as a JSON string (not with form parameters)
3. Room name or ID will be used in the request path, so it needs to be
encoded properly. Some room names may not be encoded properly. If this
is suspected to be a problem with the notification, inspect
`Travis::Addons::Hipchat::HttpHelper::UNSAFE_URL_CHARS`.
See http://tools.ietf.org/html/rfc1738 for information on URI encoding.
DRY up handling of 'Content-Type' header
Clean up #add_content_type!

can't just do `headers.to_h`, since `#to_h` is not available for `nil`
in 1.9.x.
Prefer String#split to Regexp
Remove room_id key from v2 request
Merge pull request #352 from travis-ci/ha-feature-hipchat_api_v2

Hipchat API V2 support