Nearly complete update to latest Rust.

The last remaining issue is enum decoding. My (very hacky) approach
requires at least a FnMut, but the `Decoder` trait requires a FnOnce.
Cripple the decoder to work with FnOnce.
0.7.5