Support masked arrays in gaussfit

Hi again! Thanks for merging the last patch. This patchset does a few things:

* This supports fitting to masked arrays in gaussfit(). Masked arrays are about 50% slower than unmasked arrays. The performance penalty for unmasked arrays is minimal.
* It constrains the rotation angle [0, 360).
* Adds some tests. They can be invoked with `python -m unittest discover` from the repository root.