Ensure that a GncNumeric is restored to having static data after a computation.

Sometimes a computation will temporarily overflow the static allocation and switch to
using dynamic memory. This is good because it gracefully handles problem computations,
but doesn't work so well with our emphasis on stack-allocated numerics, so ensure that
when it happens the data is transferred back to the stack-allocated buffer and the static-data
flag is reset.
Remove pre-rounding of binary function operands.

Not needed once dynamic allocations are restored to static.
Replace most uses of the IEEE_728_128_BIT constants

Abstract for easier tuning.
Fix bug in Power10

Infinite recursion if fed a negative number.
Create _standard_context()

To further abstract away the dependency on IEEE_728 formats.
Ensure static flags in constructors

Also change spelling of variable mpd to mpdec to avoid ambiguity in the debugger.
Allow rounding, even when GNC_HOW_RND_NEVER is the rounding spec.

Because 1/3 shouldn't return NaN.
Refine GncNumeric::coefficient () and gnc_numeric_denom ().

To return the correct values in all cases instead of MAX_INT in most.
Use mpd_qformat() instead of mpd_to_sci() for operator<<()

And use operator<< in gnc_numeric_to_string().

mpd_to_sci() uses Scientific Notation too much.
Restore original gnc-numeric scheme function definitions.

The new ones were mostly wrong.
Fix rounding issue that caused test-lots to fail.
Extract function _accumulate_imbalances for better readability.

Not to mention debug-ability.
Remove rounding step in two-int64 constructor

It turned out not to be useful.
Include the numbers to the left of the decimal when setting precision from a denominator.

Because the denominator is about digits to the right of the decimal, but precision is about
significant digits.
Not quite perfect, because it uses the value of the larger operand which will generally be
too large for division and too small for multiplication (or vice-versa if the smaller operand is < 1).
Expand gnc_numeric_check to report "special" numbers as well as hard errors.

Special means NaN and Infinity.
Provide defines and messages for those error conditions.
Use a new temporary context for rounding.
Replace loop-based method of finding denom digits with intlog10()

Lookup should be faster, is certainly clearer.
Another call to GncNumeric's operator<<, missed earlier.
Unit test mixups for rounding and value changes required by mp_decimal.
Remove large block of if-0'd code which is incompatible with mp_decimal.