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
Add `using namespace std` and change the `std::string` to `string` on line 34. Let's be consistent with this in all of the header files.