Removed the other constants from UPL::Lexer.

Removed COMMENT_START, TRUE_STR and FALSE_STR from the Lexer class and moved their raw definitions to "definitions.hpp" and the functions to work with them (IsCommentStarter(), IsTrueLiteral() and IsFalseLiteral()) to "tokens.hpp".

Again, in my opinion, this is cleaner, more robust and less redundancy-prone.
Added code to ignore a BOM character in UPL::UTF8FileStream.
Moved private methods to before private data members in UPL::Lexer declaration.

Not important, just my OCD acting out!