Improve naming of tuple getters, and add mutable tuple getter

Renames the `n*` and `n*_ref` tuple getters to `val*` and `ref*` respectively, and adds `mut*` getters.
Remove CloneableTuple and ImmutableTuple traits

These are adequately covered by the Tuple2 trait.