Reorganise tuple getters and remove ImmutableTuple* traits

Removes `ImmutableTuple*` traits, renames tuple getters to `get_*`, and adds mutable tuple getters.