Update Scala to 2.11.4, centralize build files
Implement Compiler class up the the lexer phase.

So that --lextest will actually output something.
Force input to be read as ASCII, print findings to stderr
Merge pull request #34 from jspam/016-compiler-class

Implement Compiler class up the the lexer phase.
Merge branch 'scala-2.11.4'

Conflicts:
	build.sbt

Conflict was resolved by deleting build.sbt and adding -feature flag to
project/build.scala
README: Explain how to create a stand-alone compiler jar
Merge pull request #36 from soc/topic/better-readme

README: Explain how to create a stand-alone compiler jar
Exit the main application with a status code.

Current codes are 0 for success, 1 for option parsing error, and 2 for
compilation failure.
Merge pull request #38 from jspam/017-exit-code

Exit the main application with a status code.
Added identifier cache.

Identifiers are now cached for faster comparison. Note that the equal's
method of case classes will first check for reference equality, so
Identifier.equals doesn't have to be overwritten.
Merge pull request #39 from Stoeoef/dev2

Added identifier cache
Add Parser stub
Merge pull request #41 from TehMillhouse/master

Add Parser stub
Lexer: Replace Stream input with custom line-based mutable input reader
Lexer: Inline lexSymbol into lexToken to make them tail recursive
Eliminate any sources of buffering the whole program

* replace Streams with Iterators
* findings and success are now dependent on the current iterator position
  * therefore have to rearrange evaluation in unit tests
* make Lexer.dumpResults() lazy line-based
Lexer: Fix BufferedIterator implementation
Merge pull request #44 from Kha/fix-bufferediterator

Lexer: Fix BufferedIterator implementation
Implement the parser's expect() function

Also start implementing parser tests.
Merge pull request #42 from jspam/020-parser-expect

Implement the parser's expect() function