Fix NDData issues with units and uncertainties

Includes tests, and closes #2393
Ensure that members of NDData are new copies instead of references

In both _arithmetic and convert_unit_to the result ought to be independent of the input and it wasn't.
Closes #2394
Add workaround for creating bool array in numpy 1.5.1
Fix initialization of NDData by NDData

Closes #2406
Set flags of the result in convert_unit_to

Closes #2409
Ensure that the wcs attribute of the result of _arithmetic is a copy, not reference

Closes #2410
Fix slicing of a single element in an NDData with mask or flags

Closes #2170
Convert NDData to numpy masked array if mask is set

Closes #2414
Change internal representation of mask when mask is None to appropriate numpy constant

Closes #2417

Part of the fix that closes this issue accidentally ended up in 2f55aa2
Ensure correct handling of units in _arithmetic

Closes #2413
Document the multiply and divide methods of NDData
Restore an import that was dropped in rebasing
Changelog entries
Formatting/style changes suggested by @astrofrog
Merge pull request #2408 from mwcraig/nddata-many-fixes

Several bug fixes in current NDData
Adding the astropy_helpers repo as a submodule to astropy; currently I'm adding my fork of astropy_helpers but will update the submodule to point to https://github.com/astropy/astropy_helpers.git once this is ready to merge into astropy's master.
Updating submodule ref
Switch over astropy's setup.py to using the astropy_helpers submodule.  Had to change all the various 'setup_package' modules to also astropy_helpers.  Seems to work in basic cases.
Update ez_setup to that for the latest version of setuptools, 2.0
Updating pointer to astropy_helpers