Revert #958
This PR can create deadlocks - there is nothing synchronizing the mutex/condvar with the `Arc` of the `Zalsa`, therefore code may wake up by the `Condvar` but not see an updated refcount, go to sleep again, and never wake up.
Require interned structs' fields to be `Update`
To fix an unsoundness - #985.
There are two breaking changes here:
1. Interned fields and interned function fields are required to be `Update` (or `'static`)
2. `unsafe(non_update_return_types)` in tracked fn options was renamed to `unsafe(non_update_types)` (and includes interned parameters as well now).