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