Fix attempt to assign gnc_numeric from 2-element array.
Declare const member functions which don't change the object.

So that they can be called on const objects.
Change signature of GncNumeric::apply_binary to add denom argument.

So that it rounds correctly when denom is used as part of the rounding spec.
Whitespace fixups.
Add default_round constant for clarity and uniformity.
Round operands to equal exponents and digits in computations.

To lessen the likelihood of rounding discrepancies when comparing results.
Implement two-stage fuzzy compare.

Necessary to work around rounding discrepancies when dealing with
high-significant-figure results; these are inevitable when handling numbers
like 1/3 which do not express exactly in decimal.