[gsac] Re-work kind parser to use an explicit loop with a stack, so we can add exponentials more easily

Ignore-this: 94d7c3dd82f874af2272401f3423b7d9

darcs-hash:20130521053231-2809a-f0223f9a64bab6cbb56188ce9014ebd6ce0f486c
[gsac] Allow exponential kinds

Ignore-this: 75b4fe3843636974186192f38489596d

darcs-hash:20130521054407-2809a-0f23f69c0cc6ace5153fccf3b53e5310f599a9d9
[gsac] Allow type arguments in .tyfuns

Ignore-this: 3298aafb3dd7573784d356572d360f02

darcs-hash:20130521235416-821d0-e62da9091616209a38171e0e49f9e3bee2d166bd
[gsac] Allow .tylets in .tyexprs

Ignore-this: 346bdfa8b3edc44bb51a96be89afa558

darcs-hash:20130522004151-821d0-ffd38c6d06a7a5f97bdcb6088c642f2c617972e2
[gsac] Clean up - Rename .tylift symbols that had 'tylet' in the name instead

Ignore-this: 773d9413f067b24e76ac4339cacae5c9

darcs-hash:20130522205152-821d0-6d0e5e16e490103c9f5f1df097dee0f1ae3c6c5d
[gsac] Allow .typroducts in type expressions

Ignore-this: 80f11d03e236095399cd58f4b0bf9a1

darcs-hash:20130522223632-821d0-29a0da94e0ba533a21fc1e36afa7a86e55617a2e