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.
add default template args to units<>
declare specific units<> values in the units.hpp header

This way others don't need to use the specific parameters of
units<> anywhere (in case the exact list changes).
add units<> pow (exponentiation)
Fix -DUSE_BOUNDS_CHECKED_INTS (& disable sunlight code)

I just disabled the sunlight since that code had never been
cleaned up and we're likely to be replacing it (for speed reasons).
Feel free to revert that change.