! http(x): support content negotiation, fixes #167

First attempt to support content negotiation. ```MarshallingContext.tryAccept()``` now additionally accepts a list of ```ContentType```s which are checked against the ```MediaRange```s of the message in order of ther q-values.

```HttpMessage``` and ```AcceptHeader``` could be further cleaned up but I would first like to hear @sirthias's opinion.

I'd also love some guidance on where/how to properly test this. Thx.