std: Expose get_mut() on I/O wrappers

Currently, it is impossible to reset the timeout on a TCP socket inside of a
buffered writer or a buffered stream. This is because the method requires `&mut
self`, but the buffered objects only provide shared access to the contained
object.

By allowing mutable access, the possibility for corruption of the stream is
exposed. The tradeoff is that many on-the-fly configuration methods are now
possible without having to unwrap the buffered streams.