mod tracks precision of Float

Float already implements the tracking so the calculation is
passed off to Float rather than being handled in Rational.
1606: as_sum error if integral is not definite
2191: collect_const can collect Numbers
fix for Python 2.5
calculation typo
docstring and number literal edits
use Factors to process terms in collect_const

By using Factors, it is much easier to collect negative terms
if so desired since the -1 is always separated from the Number.
But something documented in the code is the desire *not* to let
Integers be divided by radicals, e.g. 2/sqrt(2). Although that
is a legal operation, it would turn 2 + sqrt(2) into sqrt(2)*(1 + sqrt(2)).
factor out _unevaluated_Add for testing purposes