Based an idea by @adrn in #794, this adds "automatic" members to
Quantity that allow the user to easily convert to other units.

This involved add a more complex UnitRegistry class, that also keeps
a dictionary of all registered units sorted by their physical
type.

From this new registry, a `compose` can also limit the set of units
that it needs to search through for a match, making it faster, so
this PR has the added bonus of being a performance improvement.
Update docs
Updates from comments in PR and other minor doc changes etc.
Fix typo