Make `Angle` a subclass of `Quantity`.
Python 3.x fixes
Improves the speed of units.

- Reduces unnecessary calls to sort that were used to create unique ids.  It's faster to keep the powers and bases sorted in a canonical way all the time and then not have to re-sort on a regular basis.

- Memoize the _compose method by the unit -- this results in about 50% cache hits.

- Reduce the use of `Fraction` in calculations by converting Fractions with a power of 2 denominator.  `Fraction` instances are still used for other rationals that cannot be represented exactly by a floating point number.
Clarify and fix logic about converting powers to floats
Alternative to #1300.  Replace update_package_files with get_package_info, which should have a more future-proof API.
Use np.vectorize rather than np.nditer, for Numpy 1.5 support
Fix bounds checking.  Operations succeed if the bounds are default on one of the operands, as long as the result is within bounds.
Fix path.
Fix bug in Angle("3d")
Minor docstring fixes
Fix problems parsing sequences of strings
Include unit in out of bounds message
Support `Angle.dms` on arrays.
Add missing verb ("is")
Remove accidental change in the return type of `Angle.to_string`
Fix dms and hms to return a tuple of arrays -- this allows for round-tripping.
Fix crash in Angle.to_string() with a composite unit
Fix error on Numpy 1.5
Merge pull request #1006 from mdboom/unit/quantity-subclasses

Make `Angle` a `Quantity` subclass
Merge pull request #1303 from mdboom/setup/make-update_package_files-generic

Make update_package_files future-proof