Fix standard hooks...

You no longer get these hooks for free. You need to ask for them. You can pass a
string name for the hook. For example:

// run the loading hook for all routes as a before hook
Router.before('loading');

// run the notFound hook for all routes as a before hook
Router.before('notFound');

Remember that the order of hooks matters. In this example, you want the notFound
hook to come last since we want to show a loading indicator until the controller
is ready. The notFound hook checks whether the data value is falsy and if so,
renders the notFound template. But we don't want to do that until the data is
actually ready!
Fix up the data API on RouteController and fixes...

This makes the `this.data()` and this.data({title: 'example'})` api more
consistent and predictable. When you define a controller or route you can
provide a data property like this:

data: function () {
 return Items.findOne({_id: this.params._id})
}

Now, you can call this.data({...}) to set the data value at a later time, or
this.data() to get the value from inside one of your controller functions.