Filling out a little bit of the lexer interface to gauge progress.

* Static factory that takes a file and creates a Lexer
* Lexer's constructor now takes universal reference (cause why not)
* Lexer's contents have newlines stripped out
* Lexer's interface method is now camelCase
Can you line up the comments here so they're easier to read? You can add some extra spaces so if we have a longer name for something, it doesn't require readjusting everything.