Unit/special members on quantity subclasses fix distance

This adds a commit to #1326 that makes it compatible with `Distance` now that #1472 is merged.

Note that this is based off the current master, which includes #1472, so that's why there are a bunch of extra commits.  @mdboom, if you rebase #1326 against master, they should all go away except for the last one.