Klokane/issue158 validate http header name

Header name is now checked against "token" definition (as defined in http://tools.ietf.org/html/rfc7230#section-3.2.6)

Due to non-valid definition of headers in integration tests I must slightly modify fixture files.
I just remove characters "<" and ">" from header names.

But please __make review of modified files 'feature/fixtures/*'__ if they still follows Blueprint API

There is one more point for discussion:
How to report non-valid header name?
Now it is slightly confusing due to original mesage **"unable to parse HTTP header, expected '<header name> : <header value>', one header per line"**
while you define header like in original fixtures e.g.
```
<header1>: <header1 value>
```
Nitpick: I would prefer `.empty()` instead of `.size() == 0` but it does not really matter in tests..