track current rendering transaction...

see https://groups.google.com/forum/#!topic/meteor-talk/1z3nd182HIY

there were a few problems here. the first is that the action computation could
rerun before the afterFlush which means we might call beginRendering before we
finished the previous render. This solution attempts to solve this problem by
forcing the previous transaction to complete before starting a new one.

the second problem is that when have a global computation for a subscription
handle and that computation is invalidated but not rerun before the route runs,
it's possible that we wait on a handle that doesn't exist by the time it runs
again. So the value ends up being false always. I'm working on a fix to this. In
the mean time, when you set a value of the global autorun, force a Deps.flush
before calling Router.go.