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
I'd like to differentiate none from default. Either default should be "unknown" or it should be something else that indicates an error happened.