Implemented Selector.with_next_leaf() and .with_previous_leaf().

This allows creating selectors where the leaf before and/or after each input
selection is included in each output selection.

Could be very helpful for applying spanners which really need to have more than
one leaf.