Add request / response.

1. Switch to simple one-handler request-response stuff instead of `!events`.
2. API is `mediator.getHandler`, `setHandler` and `removeHandlers`. Matches marionette API.
3. Add `helpers.redirectTo` instead of global !router:route.
4. Return a promise from compose() if Composition::compose returned promise.Return a promise from compose() if Composition::compose returned promise. Allows to do:

    ```coffeescript
    beforeAction: ->
      @compose 'stuff', ->
        @model = new User
        @model.fetch()
    ```