Make parse tree input a parameter type

This prevents us from leaking List<Object> at badTokenConstructor, and probably
opens up our options for type safety a bit.

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>