[refactor] dedicated InvalidArgumentsException for HeaderFactory too
[headers] add etag + test coverage
[refactor] introduce 4 sub-classes of Hedaer\Base to allow distrinction of generic, request, response and entity headers
[todo] [style] ocd
Merge branch 'develop'