testing

Added pairwise, as well as a move function that implements pairwise. Tested and everything.
So, The permutations of this interface are
```Java
public void move(TElement elementToMove, Condition positionCondition, Func defaultFactory)
public void move(Condition<TElement> elementToMove, Condition positionCondition, FuncDefaultFactory)
//and then if I want to keep in line with the general strategy of allowing moves on arbitrary equality
public void move(TElement elementToMove, EqualityComparer equalityMethod, Condition positionCondition, Func defaultFactory)
public void move(TElement elementToMove Selector equalitySelector, Condition positionCondition, Func defaultFactory)

this one seems to be ballooning out of control...