Improved Duration instantiation.

You can now properly instantiate a duration from an object which *has* a
duration.

Previously, incorrectly:

    >>> time_signature = TimeSignature(3, 4)
    >>> Duration(time_signature)
    Duration(3, 1)

Now, correctly:

    >>> time_signature = TimeSignature(3, 4)
    >>> Duration(time_signature)
    Duration(3, 4)
Adjusted Timespan doctests.