title: Is there a `shared_lock_guard` and if not, what would it look like?
body: <p>I wanted to use a <code>std::mutex</code> in my class, and noticed that it isn't copyable. I'm at the bottom level of my library here, so it seems like a terrible idea to have this behaviour.</p>
  
  <p>I used <code>std::lock_guard</code> on the <code>std::mutex</code>, but there doesn't seem to be a <code>shared_lock_guard</code>, which would be preferable to provide write-locks-exclusively behaviour. Is this an oversight or trivial to implement myself?</p>