Work with 42deaa5e4 nightly.

* `Pixel` now explicitly derives Copy so that `get_pixel` doesn't attempt to move pixels from the data array when it returns.
* `ImageIndex` derives Copy despite not needing it because otherwise we are warned about it. Alternatively we could suppress the warning with `#[allow(missing_copy_implementations)]` if you prefer.
* `read_image_data` takes a reference to the header instead of trying to copy or move it.
* `open` moves the read header when the image is built, so width and height must be copied before that and I think it is better to do this explicitly than to reorder the image struct initialiser.
* Several temporary variables are now references instead of moves or copies.