add support for polymorphic behavior on lists

functions that take lists with type variables now work in the basic case.
also added a test for the listprint.uqb program.