Adding abstractions for request headers

Note, these abstractions are needed for content negotiation in mvc. 
The parsing code is a temporary implementation which should be replaced by a robust one.
Currently the code does not handle invalid headers.
mm, the reason I refrained to call it Headers was it is not actually headers but represents the Parsed values (and the parsing code) of the string headers hanging off of HttpRequest,
How about ```Microsoft.AspNet.Http.HeaderValueAbstractions```. 
@davidfowl  if you folks think ```Microsoft.AspNet.Http.Headers``` is the right value here, I am fine.