Use divide method (and fix a couple errors that uncovered)

The main change was intended to fix #92, but it turns out that running the tests of `flat_correct`` with perfectly uniform flats was masking a couple of errors.

One was that the arithmetic methods return a new array, but flat correct was returning the original array. The other was that it isn't always the case that ``flat_data.data.mean() == ccd_data.data.mean()`` after flat correction, because the mean of a ratio isn't the ratio of the means (though this had me going in circles for about 15 minutes).

The tests were also change to ``almost_equal``-type tests.