+ http: add model for CORS headers
= can: update HttpHeaderParserSpec with latest additions to header model
= sbt: Add OSGi metadata to non-test modules
= sbt: Make spray.json optional package import
= can: upgrade StatsSupport.StatsHolder to new PaddedAtomicLong
= sbt: upgrade dependencies
+ util: add PaddedAtomicLong
Merge pull request #374 from analytically/master

Add padding to StatsSupport.
= servlet: Provide the javax.servlet.http.HttpServletRequest in an HttpHeader
Merge pull request #329 from mpilquist/osgi

= Add OSGi metadata to non-test modules
= can: fix client-side request-level API not supporting absolute URIs w/ empty path, fixes #338
= servlet: set servlet-request-access to off by default
Merge pull request #351 from marekzebrowski/master

CORS Headers
= testkit: dilate default RouteTestTimeout by akka.test.timefactor
Merge pull request #375 from spray/ticket/338

= can: fix client-side request-level API not supporting absolute URIs w/ empty path, fixes #338
Merge pull request #376 from jrudolph/wip/dilate-route-timeout

= testkit: dilate default RouteTestTimeout by akka.test.timefactor
Merge pull request #371 from mpilquist/servlet-request

! servlet: add support for accessing HttpServletRequest in service actor
+ 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.