Updating smoke test
Removing recursive copy in typeinfo_copy()

I have seen no instance where the deeper types of a copy get modified,
so there seems to be no need to recursively copy them.
Massive cleanup of grammar

Should have done this a long time ago. Renamed rules (yay Emacs for
find-dired query-replace on marked files) with descriptive
names. Removed a few more unsupported things (destructors and some rules
with :: in front of them). Two less shift/reduce conflicts.