Merge CloneableTuple and ImmutableTuple into Pair trait

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