Implemented HttpRequestHandler abstraction

* Pulled onRequest, routeRequest, filter etc methods out of GlobalSettings, and put them into a HttpRequestHandler abstraction.
* Introduced HttpConfiguration abstraction to abstract out http configuration
* Rewrote Scala documentation on intercepting requests
* Didn't rewrite Java documentation on intercepting requests - felt a bit like yak shaving
@jroper good to know.
This piece of code exists in the war plugin too, and I was not sure about how useful it is.
Now I know... ;)