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
The problem with undefined is how do you document it in reference.conf?  Akka is the project that started the convention of using empty Strings to mean undefined.  See the discussion here:

https://github.com/playframework/playframework/issues/3438