finishes the tokenstream-based parser

New functionality:
* Support for whitespace tokens
* Support for comment tokens
* Precise support for string interpolations
* Range positions for tokens

Tested the tokenizer on the entire source tree of scala/scala, and everything was fine except for:
* XML literals (not supported by the current parser, probably will be dropped from future versions of Scala)
* Unicode escapes (no idea how those should interact with positions, will ask Martin)