Added try_lock to Mutex

The `Mutex` struct previously had no try_lock. This patch adds it.
(similarly for `try_lock` down below)