add unit-checking implementation (initial work)
make a separate type for a collection of units without a number

This makes the code shorter and will probably be more usable.
refactor units
Make a way to actually create a unit-ed value.
units: fix build on Clang

(Apparently Clang instantiates templates a bit different
from GCC; in any case, this method is more robust.  It
makes it impossible (or harder) for the compiler to try to resolve
the overloading in the decltype when it's an invalid instantiation
leading to infinite template recursion.)
add units tests
add units tests, and make them work
units: refactor
units: refactor;

Now everything can be constexpr if desired.
units: add and fix test
units: add conversion from literal 0
add & fix more units tests
add more units tests
add & fix units tests
units: refactor
fix build-system hashes (this changes them, except for default)
shorten line in dev-build.py
units: add more numeric-type-related tests
make the C++ better (don't require default-constructors for imaginary things)
make units<> ops constexpr

There's no reason that unit<> can't be either; I just have no
need of it presently.  The only reason unit<> needs to be constexpr
is so we can declare constants of its (data-less) type that can be
included in multiple files without getting defined-multiple-times
linker errors.