Fix query string to params, pass routing options

- Fix query extraction of query string parameters to `params` for the first routing when Backbone just provides the path without QS (#351)
- Pass the full path to controller actions (see discussion of #319). Proposed solution: just pass the whole routing options as second parameter. This used to be the previous controller name. I think it’s okay to make a breaking change here. The previous controller name is now added to the routing options, so it’s easy to upgrade.

Specifically:

- Pass routing options instead of previous controller name to controller actions. Example:
   
  ```
  class SomeController extends Controller
    beforeAction:
      someAction: (params, options) -> …
    someAction: (params, options) -> …
  ```

- In return, add `previousControllerName` to the routing options
- Separate query string from the `path` and add it to the routing options. Example:

  ```
  @publishEvent '!router:route', '/the/path', { queryString: 'foo=bar&qux=123' }, -> …
  ```

- `Route#extractQueryParams` uses `options.queryString` or `location.search`
- Cleanup and comments for consistency

Feel free to comment / make changes.