If we're moving stuff anyway, I think we should have all recursion_guard methods on `Topaz` (or `Topaz::Thread`, I don't really mind). But with this, we have `Topaz.recursion_guard_outer` and `Thread#recursion_guard` - there just shouldn't be two places for this.