Fix formatter whitespace handling

The formatter needs a token stream to be able to keep the existing
whitespace.

Fixes lucaswerkmeister/ceylon.formatter#62, as well as the already
closed lucaswerkmeister/ceylon.formatter#63 and
lucaswerkmeister/ceylon.formatter#64.
(It probably also fixes the wrong line breaks that @gavinking got in
lucaswerkmeister/ceylon.formatter#61, but I’m still getting an exception
there.)
Merge pull request #996 from lucaswerkmeister/fixFormatterWS

Fix formatter whitespace handling