Add AnalysisResult and Finding classes.

The AnalysisResult class is intended to hold the results of the analysis
phases (lexical, syntactic and semantic analysis).

In order to allow for a "pull parser" model where the parser starts
before the lexer has finished, the results and the findings list are
implemented as Streams.

There is a lazy val success that invokes a callback. This callback
should advance the analysis to a point where the success of the phase
can be determined.

The findings are supposed to be subclasses of the abstract Finding
class. They can take parameters and can output a description of the
finding.
Merge pull request #10 from jspam/006-analysis-result

Add AnalysisResult and Finding classes.
Add basic lexer tests.

Test for whitespace, operators/keywords, identifiers, integer literals
and some failure cases.

The tests are ignored for now because they would still fail. To make the
tests run, replace "ignore" by "it" in front of the tests.