Adding new inteface method, PeekToken, to Lexer
Adding Lexer factory to read file and output a Lexer

* 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
Adding new method for token to pretty print token type