Added Selector.by_logical_measure(). NEW FUNCTIONALITY.

Examples score:

    >>> staff = Staff("c'4 d' e' f' g' a' b' c''")
    >>> attach(TimeSignature((2, 4)), staff[0])
    >>> attach(TimeSignature((3, 4)), staff[4])
    >>> attach(TimeSignature((1, 4)), staff[7])

    >>> f(staff)
    \new Staff {
            \time 2/4
            c'4
            d'4
            e'4
            f'4
            \time 3/4
            g'4
            a'4
            b'4
            \time 1/4
            c''4
    }

Leaves in each measure:

    >>> selector = selectortools.Selector()
    >>> selector = selector.by_leaves()
    >>> selector = selector.by_logical_measure()
    >>> for selection in selector(staff): selection
    ...
    Selection(Note("c'4"), Note("d'4"))
    Selection(Note("e'4"), Note("f'4"))
    Selection(Note("g'4"), Note("a'4"), Note("b'4"))
    Selection(Note("c''4"),)

First leaf in each measure:

    >>> selector = selector[0]
    >>> for selection in selector(staff): selection
    ...
    ContiguousSelection(Note("c'4"),)
    ContiguousSelection(Note("e'4"),)
    ContiguousSelection(Note("g'4"),)
    ContiguousSelection(Note("c''4"),)

Last leaf in each measure:

    >>> selector = selectortools.Selector().by_leaves().by_logical_measure()[-1]
    >>> for selection in selector(staff): selection
    ...
    ContiguousSelection(Note("d'4"),)
    ContiguousSelection(Note("f'4"),)
    ContiguousSelection(Note("b'4"),)
    ContiguousSelection(Note("c''4"),)

See the LogicalMeasureSelectorCallback API entry for more examples.