Added try_lock to Mutex

The `Mutex` struct previously had no try_lock. This patch adds it.
Can you format this as:

```rust
self.try_access().map(|guard| {
    SemCondGuard {
        guard: guard,
        cvar: Condvar { sem: self, order: Nothing, nocopy: marker::NoCopy },
    }
})
```