- clean up the character parser subclasses to be simple matches (this makes
  the parsing slightly slower, but enables all kinds of other fancy tricks)
- added the ability to create flat copies of parsers
- fixed the transformation code to support self-referring parsers
- improved the debug transformation
- oups, had a severe bug in the new transformation
- inlining super during parsing gives us some speed (strange, but true)
- reuse most character matchers
- improve the comments in the reflection module
- added a preliminary match function for parser equality
- always call super.match, not match as the code currently does
- do not use identical for Parser.replace(a, b) as it is not necessary
- fix an issue in Transformations.removeSetables where sequences where not correctly removed
- fix some of the tests that broke with the fixed transformation algorithm
- another recursion missed when matching
- remove duplicates and setable in-place
- added a test for the example in the document of CompositeParser
- fixed some of the documentation of CompositeParser
- make the xml serialization code a mixin
- fixed various named arguments that should have been optional arguments 
  (this potentially breaks clients, but is easy to fix by removing the name)
- delete unused DartParser.dart
- roughly working smalltalk parser imported from smalltalk
- Symbol class is no longer necessary in M4
- fix the use of iterators in the reflection module
- reformat parser iterable