add CompositeRowTupleMapper

This adds a new tuple mapper which is like the `DefaultTupleMapper` but accommodates composite row keys.

`CompositeRowTupleMapper` uses a variadic constructor, so as to be a drop-in replacement for `DefaultTupleMapper`.