std: Introduce a standard Mutex type

Much of the justification can be found in the large implementation comment found
in the module itself.
Remove try_send_deferred plus fallout

This removes all usage of `try_send_deferred` and all related functionality.
Primarily, this builds all extra::sync primitives on top of `sync::Mutex`
instead of `unstable::sync::Mutex`.