add & test some compile-time-bignum helpful functions
move rounding_strategy definition to its own file so bignums can use it
compile time bignum: wrap in number<>, don't inherit from it

+// inheritance didn't give as strong function-overloading properties,
+// may slow compile-time computations a bit,
+// and we don't need it anymore.

Specifically, is_negative() (upcoming) needed to call
compile_time_bignum's version, not numbers.hpp's,
when passed a compile-time bignum.
compile time bignum: add rounding ops, & more tests against zero

The tests against zero are partly just because
part of the implementation needed that, and so
I should test those implementation components.
But they may be convenient; 'zero' as a literal
is currently a bit lengthy, INTEGER(0).
add compile time bignum logarithms
fixups in numbers.hpp