more AST implementation, performance fixes, typo fixes

- Implemented case, loop and function call nodes
- Changed some nodes' fields to private
- Replaced StringBuffer concat with append()
- Added all missing constructors
- All child nodes are explicitly initialized with null