Reverse Router should use minified assets in production automatically

Serving assets is usually different between development and production mode. In dev mode, you want to serve the assets as they are, and in production they should be minified, compressed, versioned, and so on.

Using minified resources already works with RequireJS assets that go through r.js. Using versioned assets in prod mode works thanks to the Router's `versioned` method. Now it'd be nice to combine this, so Play serves versioned and minified LESS/CSS assets.

To put it in code:

~~~HTML
@if(current.mode == Mode.Dev) {
  <link rel="stylesheet" media="screen" href="@routes.Assets.versioned("lib/bootstrap/css/bootstrap.css")" />
}
@if(current.mode == Mode.Prod) {
  <link rel="stylesheet" media="screen" href="@routes.Assets.versioned("lib/bootstrap/css/bootstrap.min.css")" />
}
~~~

should become

~~~HTML
<link rel="stylesheet" media="screen" href="@routes.Assets.versionedAndModeAware("lib/bootstrap/css/bootstrap.css")" />
~~~

I can't see any tests that cover it - but the fact remains that an implicit `PathBindable[String]` in scope will apply to all string parameters, there's no way to make it differentiate between assets and non assets parameters, this is why we had to introduce the `Asset` type in the first place, otherwise we could have written a `PathBindable[String]` and have `Assets.at` use that.  The first thing it does is call `pathFromParams(rrc)` which throws an exception if there's no fixed parameter in the route called `path`.