Extended DivisionMaker with new 'pattern_rotation_index' property.

Set pattern_rotation_index to integer like -1, 0, 1 or 9.

The integer will be used to rotate the divisions carried in
DivisionMaker.pattern by pattern_rotation_index amount at each new division
encountered at calltime.

Turns DivisionMaker.pattern into a type of talea.

Examle 1: does not rotate pattern:

    >>> maker = makertools.DivisionMaker(
    ...     cyclic=True,
    ...     pattern=[(1, 16), (1, 8), (1, 4)],
    ...     )
    >>>
    >>> lists = maker([(7, 16), (7, 16), (7, 16)])
    >>> for list_ in lists:
    ...     list_
    [NonreducedFraction(1, 16), NonreducedFraction(1, 8), NonreducedFraction(1, 4)]
    [NonreducedFraction(1, 16), NonreducedFraction(1, 8), NonreducedFraction(1, 4)]
    [NonreducedFraction(1, 16), NonreducedFraction(1, 8), NonreducedFraction(1, 4)]

Example 2: rotates pattern one element to the left at each new input division:

    >>> maker = makertools.DivisionMaker(
    ...     cyclic=True,
    ...     pattern=[(1, 16), (1, 8), (1, 4)],
    ...     pattern_rotation_index=-1,
    ...     )
    >>>
    >>> lists = maker([(7, 16), (7, 16), (7, 16)])
    >>> for list_ in lists:
    ...     list_
    [NonreducedFraction(1, 16), NonreducedFraction(1, 8), NonreducedFraction(1, 4)]
    [NonreducedFraction(1, 8), NonreducedFraction(1, 4), NonreducedFraction(1, 16)]
    [NonreducedFraction(1, 4), NonreducedFraction(1, 16), NonreducedFraction(1, 8)]

Example 3: rotates pattern one element to the right at each new input division:

    >>> maker = makertools.DivisionMaker(
    ...     cyclic=True,
    ...     pattern=[(1, 16), (1, 8), (1, 4)],
    ...     pattern_rotation_index=1,
    ...     )
    >>>
    >>> lists = maker([(7, 16), (7, 16), (7, 16)])
    >>> for list_ in lists:
    ...     list_
    [NonreducedFraction(1, 16), NonreducedFraction(1, 8), NonreducedFraction(1, 4)]
    [NonreducedFraction(1, 4), NonreducedFraction(1, 16), NonreducedFraction(1, 8)]
    [NonreducedFraction(1, 8), NonreducedFraction(1, 4), NonreducedFraction(1, 16)]