add HybridListDict class + tests

this does not create a "list of 2-element" tuples, rather a mixture of 2-element tuples and something else. i don't know why you make the distinction with int.