Documented dependency injected routers

* Fixed a bug in routes dependency ordering
* Explained clearly the migration approach in the 2.4 migration guide
* Updated as many code samples as I could find to use dependency injected routers
* Documented how to use the injected router in a compile time injected application
* Updated all Activator templates to use dependency injected router
> The default is to use the static routes generator. You must use this if you are not ready to migrate all of your Java actions to be non static methods, or your Scala actions to be classes.

Well, in some cases you can stay with Scala’s objects or Java’s static methods. As long as your controller does not need to be parameterized it is fine to stick with the static approach, right? Or do you want to advise users to, by default, use injectable controllers?