imsave should preserve alpha channel

While looking at test_image, I noticed the comment that `imsave` was flattening alpha channel data. I figured this was related to #1868 (it is, partially), and decided to fix it.

I've updated the test to reflect that an imsave/imread round-trip should now preserve full RGBA data to within 1/255.

Passing the test, however, requires that the patches from #1868 also be applied.