+ httpx: add mapHeaders transformer to RequestBuilding
+ httpx: add removeHeader and removeHeaders transformers to RequestBuilding
! routing: Render `WWW-Authenticate` header also for rejected credentials, fixes #188

When authentication fails, browsers didn't offer a possibilty to re-enter new credentials because of the missing WWW-Authenticate header. RFC2617 states: "If the origin server does not wish to accept the credentials sent with a request, it SHOULD return a 401 (Unauthorized) response. The response MUST include a WWW-Authenticate header field containing at least one (possibly new) challenge applicable to the requested resource." This patch adds the missing header, so users can attempt again to authenticate themselves.

This patch merges the AuthenticationRequiredRejection into the AuthenticationFailedRejection and moves the generation of the headers into the HttpAuthenticator.
+ httpx: add removeHeader[T] to RequestBuilding
= routing: added test to assert expected behavior, fixes #238
= http: allow ipv6 addresses in X-Forwarded-For, fixes #230
= can: add test for parsing empty response without Content-Length header, fixes #248
Merge pull request #379 from jrudolph/wip/230

= allow ipv6 addresses in X-Forwarded-For, fixes #230
Merge pull request #378 from agemooij/issue-317

Fix for issue 317
Merge pull request #358 from MarkvanderTol/WWW-Authenticate

Render `WWW-Authenticate` header also for AuthenticationFailedRejection
Merge pull request #380 from jrudolph/wip/238

= fix #238: added test to assert expected behavior
Merge pull request #381 from jrudolph/wip/248

= can: add test for parsing empty response without Content-Length header...
= routing: fix test error introduced by conflicting changes in cc7110f3 & c7a2aff
! routing: PathMatcher.(flat)map => h(flat)map, introduce map/flatMap, fixes #274
Merge pull request #382 from jrudolph/wip/274

! routing: PathMatcher.(flat)map => h(flat)map, introduce map/flatMap, fixes #274
! http(x): support content negotiation, fixes #167
= build: add CONTRIBUTING.md to show in github pull requests
= servlet: fix configuration loading
= servlet: check `settings` for null before using it
! httpx: move unmarshal and unmarshalUnsafe to Unmarshaller and add unmarshaller method

This fixes #373 by moving the `unmarshal` and `unmarshalUnsafe` methods from the spray.httpx package object to the Unmarshaller object. It also renames `unmarshal` to `unmarshaller` and adds an improved version of `unmarshal`that takes an `HttpEntity` as a parameter, making it consistent with `unmarshalUnsafe`

Added the necessary unit tests to `BasicUnmarshallers`.