Fixes for opt-in `Copy`

I've separated the changes into two commits.

The first is the minimum to compile on rust master.
The second has extra impls for types that I thought would want it.