Make normal add/sub use normal, not in-place, ops

In some cases, normal and in-place operations can give different
results. Now, when an operation is done on a Quantity, the exactly
corresponding operation is done on its magnitude, instead of always
using the in-place operation.
Make iadd_sub and add_sub private to _Quantity

Rename iadd_sub to _iadd_sub, and rename add_sub to _add_sub. These
methods should not be publicly exposed. Instead, users of the _Quantity
class should use operators.
Add test for issue #93
Add test for pull request #94
Merge branch 'test-issue-93' of git://github.com/jturner314/pint into jturner314-test-issue-93
Merge branch 'fix-add-sub' of git://github.com/jturner314/pint into jturner314-fix-add-sub
Solve conflicts with iadd_sub and add_sub
Changed some NumPy Tests to work on arrays, not NumPy scalars.

See #93
Quantity.__getattr__ should not cast to numpy array when not necessary

Casting only occurs if the requested attribute is a handled numpy
attribute.
Rewrote add_sub similarly to iadd_sub to handle not in place operations.
Merged develop