Unit/conversions as properties

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 adding 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.