Add preparser tag to test runner.

This allows one to avoid duplicating code, motivated in particular
by the many closure tests.
Test all the closure code with cdef functions as well.
Another closure test.