Type system cleanup

Made a few changes, mostly in **TypeCheckNodes.cpp** and **TypeSystem.cpp**. Didn't completely restructure the recursiveness of the type checker (which I believe works fine), but I did remove redundant code AND fixed bugs that could've been fatal!