Generalized types for ((call)|(let))/[ec]c to allow n-ary continuations.

The non-typechecker changes from PR679. With tests this time.
I think he means the transform that param-annotated-name enabled. I got rid of it because its only purpose was for the variables in let/[ec]c. I can factor it back out if that suits you.