Made priority matching return item from priorities in favor of headers from user agent

This is a implementation proposal for issue #21.

That is, best header is based on priority value instead of header value.  

For instance, in case of language negotiation:
```gherkin
Given an Accept-Language header "fr-FR, en"
When negotiated against the following priorities:
    | priorities | 
    | en_US      |
    | de_DE      |
Then the negotiated accept header has a value of "en_US"  
```

Before this PR, the resulting value would have been `en`.