Tokenize colon character as begin block token

...well that was easy. Still liking what you've done with this, Gilli.
BROKEN - demonstrates some problems with matchers

I tried something else and ran into some things I don't like about the
matchers paradigm. However, it's not that I don't like it overall... I
will see where I can take this.
Removed Matcher at end of class names

This is like you suggested for tokens. They are all matchers. Why not
just let the module name do it?

(still broken)
Fixed up lexer a bit, but still broken

Removed the "Exact" from "ExactLiteral". I think this could still bear
to be renamed to something else like "Symbol". Technically strings and
integers and many other things could be literals and '(' etc. are not
really literals at all.
Added lots of TODOs

because I realized I wasn't going to get this fixed tonight. Take a look
at what I've done and see if it's okay with you. Sorry for jumping in
and just doing a bunch of stuff without asking again... I have so little
time to work on it that when I get a chance, I just go.
Fixed Within matcher to comply with new fluent pattern
Covereted Symbol (now called ExactText) to the new fluent interface also got rid of some unused matchers YAGNI!!!!
Refactoring matchers...
More refactoring
Brought things to a good state. @kazark, how does this look?
Some slight simplification
Started on block comments