Various colon and parenthesis combinations in definitions

...efintions.

[1] Fixed a problem with lambdas as a definition parameter.
[2] Fixed a problem with old-style classes.
[3] Added a --debug flag that prints debug information.
[4] Added some documentation.
[5] Changed some functions in Parser that iterated over stream to use self.stream.move(), so they would update self.current.