Add deferreds to controllers/views

We need to be able to prevent a view from being displayed until a promise has been fulfilled. Otherwise an incomplete view may be displayed. We may also want to show a "Loading..." view while the promise is being fulfilled.

I have some ideas but will look through the Chaplin documentation and issues first to see if someone else has already solved this problem.