Extracted HttpErrorHandler interface from Global

* Play will by default try and load one of these from the root package called ErrorHandler
* If none is found, it will fallback to one that delegates to Global, so that Global.onError etc methods still work for legacy apps
* Added a new mechanism to the Reflect utils to load bindings for either a Scala interface, or a Java interface with an adapter to the Scala interface
* Updated documentation, including removing documentation on old Global methods
No it won't yet.  Yes it will once we also pull the HttpRequestHandler out of global (my next task), then a compile time injected app will supply an HttpRequestHandler which will contain the implementation of onRequestReceived below, and Global won't be used at all.