Check that units<> type arguments are in the canonical order.
units: add TODO
units: move comment up
units: refactor list of unit definitions
units: check whether unit quantity Units argument is a units<>
units: add radians & angle unit comments
units: rearrange dimension comments
units: comment angle types
units: switch from gram to kilogram as base mass type

+    // Why kg not g? Derived units like Newton are based on it,
+    // so it seemed more readable in that way, but it's a tradeoff
+    // that could be made in either direction.
units: Add some common SI derived units typedefs.
units: rename unit<> to physical_quantity<> per chat with Eli

(Reasoning: physical_quantity is more accurate.)
begin documenting units
add static pow & root tests
improve static pow/root impls
make static pow/root impls more robust & flexible, & test
add extract_factor<> compile-time computation
units: tweak impl (no effective change)
units: compactify show_ratio<>()
units: rearrange units.hpp to be neater
Rearrange & refactor units.hpp to be (hopefully) a bit friendlier & sounder