Improved makertools.DivisionMaker. GOTCHA.

OLD:

    if self.remainder is Left:
        ...
    elif self.remainder is Right:
        ...

NEW:

    if self.remainder == Left:
        ...
    elif self.remainder == Right:
        ...

GOTCHA: using 'is' to compare Abjad ordinal constants fails after deepcopy.

Here 'is' appears to work:

    >>> a = [Left]
    >>> b = [Left]
    >>> a[0] == b[0]
    True
    >>> a[0] is b[0]
    True

But 'is' fails after deepcopy:

    >>> import copy
    >>> c = copy.deepcopy(b)
    >>> c
    [Left]
    >>> a[0] == c[0]
    True
    >>> a[0] is c[0]
    False

NOTE that this same perilous behavior does NOT hold for built-in True and
False:

    >>> a = [True]
    >>> b = [True]
    >>> c = copy.deepcopy(b)
    >>> a[0] == c[0]
    True
    >>> a[0] is c[0]
    True

Might be possible to make Left, Right behave the same way as True, False by
implementing Left.__copy__ and / or Left.__deepcopy__ carefully. But maybe
better to just avoid 'is' comparison with Abjad ordinal constants altogether.