Handle marshalling tuple variant types.

The only container types handled are list and dict. This adds support for tuples
as well (aka DBus structs), which are rather simple to introspect.
Added a unit test for rrerolle\'s addition of tuple introspection