fix & augment compile_time_bignum
boost::throw_exception -> throw

We already had to use 'throw' in constexpr_require_and_return(),
and there's no reason to mix & add complication.
disable some warnings that are hard-to-avoid and not-very-useful

unused-local-typedefs: this affects some Boost headers as well
as some macro stuff in bounds-checked-int.  (GCC 4.8)

mismatched tags: struct vs. class: for std::hash/boost::hash,
we need to specialize it and different libs use different names
struct vs. class.  (Clang 3.2)
Fix bignum Clang-triggered bug in division-by-zero.