Handle request headers of different cases

Mixing cases in request headers is currently not handled correctly.

```scala
def foo = Action { request =>
  Ok(request.headers.getAll("X-Foo").mkString(","))
}
```

```bash
curl -H 'X-Foo: a' -H 'X-Foo: b' http://localhost:9000
a,b
```
```bash
curl -H 'X-foo: a' -H 'X-foo: b' http://localhost:9000
a,b
```
```bash
curl -H 'X-Foo: a' -H 'X-foo: b' http://localhost:9000
b
```