Merge ImmutableTuple* traits into their respective Tuple* trait
Merge CloneableTuple and ImmutableTuple into Pair trait

This means that `first`, `second`, and `swap` now move rather than cloning.