Use Workers to Renew Contracts
If a contract is actively renewing, a worker that tries to grab a session will error out, even though all that the worker really needs to do is wait for the renewal to complete. This happens because the renew process is separate from the worker process.
We could avoid this error and undeserving timeout by having the worker do the renewal itself. If the worker is doing a renewal, it won't be performing any other tasks and therefore doesn't risk erroring out when another task is attempted. This also allows us to drop the invalidate code, which I think is greater complexity than we need today now that we have a nicer RPC system in place.