Fix masking in arithmetic

Address #2403 

Before merging, needs:

- [x] CHANGES.rst entry for appropriate release
- [x] rebase if #2395 is merged first

This PR changes the actual behavior of ``NDData._arithmetic`` to match that in its documentation and of numpy masked arrays.