Updates after getting clarification regarding WebLinks

Motivation:
Got a reply regarding the question about the Weblink headers and the
location header. The response [1] was that both the location header and
two link headers should be returned in the response to a registration
request. The link header of type 'push:monitor' url will be the same as
the URL in the location header.

[1] http://www.ietf.org/mail-archive/web/webpush/current/msg00106.html

Modifications:
Updated the README.md clarify this and also updated the server and
client to handle this.

Will need to refactor the WebLink types into an enum but not quite sure
what the best place if for them so that will be a separate commit.
Renaming server-api to api.
Adding a WebLink enum to Registration

Motivation:
The WebLink types, currently 'push:channel' and 'push:monitor' have not
be defined yet. So make it easy to later change these values and also
allow them to be shared between client and server implementations.
Removing the creation and converion of Http 1.1 messages.

Motivation:
Currently, we first create Http 1.1 request which are then converted
into Http/2 writes. Instead we can construct the Http/2 headers
directly and hot have the extra conversion done.
Adding an example that works in Firefox nightly.

Note that there is currently no support for the WebPush API and this is
an attempt to get things working anyway. Currently I need to figure out
how HTTP/2 server push will work with browsers. I think that for push to
be used the WebPush API support would have to leave in the native
browser implementation and have access to the push stream that is
established by the server when monitor is called.
Adding initial support for aggregate channels.

Motivation:
Adding support for aggregate channels [1] which allows an
application to request that the WebPush server deliver the
same message to a potentially large set of devices.

[1] http://tools.ietf.org/html/draft-thomson-webpush-aggregate-00
Adding channel status command as per webpush-http2.

Adds the ability to send a GET request to a channel endpoint to check it
status. Currently the only thing returned in a 200 if the channel
exists. The spec does not say anything about the information that should
be returned. I need to ask about this.

https://tools.ietf.org/html/draft-thomson-webpush-http2-01#section-6
Adding support to delete a channel.
Removing ArgumentUtil in favour of Objects.
Minor clean up.
Removing RegistrationNotFoundException.
Adding explicit check for channel WebLink type.

After adding the 'push:aggregate' type there are more than two WebLinks
so a check must be done for the exact type.
Displaying all http/2 headers instead of parsing them.

I think that it makes more sense for someone using this to see the full
headers that the server returns. This was the status code and all the
headers (like CORS) that might be of interest while developing.
Extracting cache-control value to static method.
Updating Travis configuration.
Adding Netty snapshot repo.
Changes to reflect updates to Netty upstream.

HttpMethod.name() now returns AsciiString so we can simplify our code a
little.
Merge branch 'travis'
Removing the prerequisites to build Netty locally.
Changes to reflect updates in Netty upstream.