Add Lexer test for separating tokens without whitespace.

Tokens do not need to be separated by whitespace, e.g. a[b] is 4 tokens.
Add a test for that (ignored for now because the lexer is not yet implemented.)
Remove options from CLI, add lextest
Merge pull request #20 from soc/topic/cleanup-cli

Remove options from CLI, add lextest
Remove *.mj/*.java file name requirement

It is not mentioned in the spec and could lead to problems with
automated tests by the course instructors (their test files might be
named differently).
CLI: Make --lextest not take a string, add help string

opt[String] would imply a parameter of the form "--lextest <value>", but
the specification on the assignment sheet says --lextest does not take
any values but the file name (which is a separate parameter).
Merge pull request #24 from jspam/011-lextest-parameter

CLI: Make --lextest not take a string, add help string
Merge pull request #23 from jspam/010-file-extensions

Remove *.mj/*.java file name requirement
Convert case classes to case objects
Merge pull request #21 from soc/topic/case-objects

Convert case classes to case objects
Merge pull request #17 from jspam/008-moar-lexer-tests

Add Lexer test for separating tokens without whitespace.
Integrate AnalysisResult directly into the Phase classes.

All phases return some result. This is useful for unit testing and
dumping a result. There is a subtrait AnalysisPhase which additionally
has a success value. This is for lexical, syntactic and semantic analysis.
The rest of the phases should not be able to fail.
Merge pull request #25 from jspam/014-integrate-analysis-result

Integrate AnalysisResult directly into the Phase classes.
Simplify lexer tests by introducing new checkContainsTokens function
Merge pull request #27 from jspam/013-lexer-test-assert-function

Simplify lexer tests by introducing new checkContainsTokens function
Fix typo

Actually, it's a regex substitution mistake, but who's counting.
Add literal parameter to TokenData, specifying it for each case class
Give TokenData an appropriate toString method
Merge pull request #18 from TehMillhouse/literal_param

Add literal parameter to TokenData, specifying it for each case class