Allow handles to be inherited properly.

So now you can set handles on e.g. the router and a single controller and it'll wait on _both_ of them.
Merge branch 'master' into initial-state