Extended DivisionMaker and MeasurewiseDivisinMaker API entries.
Fixed longstanding Duration / NonreducedFraction initialization bug.

OLD:

    >>> nonreduced_fraction = mathtools.NonreducedFraction(6, 32)
    >>> Duration(nonreduced_fraction)
    Duration(6, 32) # <== crazy

NEW:

    >>> nonreduced_fraction = mathtools.NonreducedFraction(6, 32)
    >>> Duration(nonreduced_fraction)
    Duration(3, 16)

Explanation: NonreducedFraction inherits from fractions.Fraction. But
NonreducedFraction sets _numerator and _denominator by hand. This by-hand
manipulation is fine for nonreduced fractions (because the lack of reduction is
the defining feature of the class). But this caused problems during Duration
initialization because Duration was detecting that NonreducedFraction was a
subclass of Fraction and just grabbed the (sometimes nonreduced) _numerator and
_denominator directly. In short, Fraction.__init__() bypasses the reduction
algorithm when Fraction.__init__() detects a Fraction instance as input. The
new code committed here special cases duration initialization when input is a
nonreduced fraction.

TESTS: note that that Python 3.x function call count assert in the
IOManager.count_function_calls() test file will fail after this commit and
should be incremented correctly after running under 3.x.