Converted line endings to UNIX.

This was an oversight and never should have happened.
Implemented some missing ctors in UPL::Token.
Refactored keyword-related constants in UPL::Lexer.

The constants UPL::Lexer::KEYWORD_COUNT and UPL::Lexer::KEYWORDS were (in my opinion) misplaced, so I moved their raw data into "definitions.hpp" and the functions that handled them into "tokens.hpp". The arrays of pairs is now static data in the "tokens.cpp" file, and KeywordCount is a namespace-scope constant.

The problems with the old implementation were these:
- I'm not sure, but I think initializing arrays right in the class declaration (UPL::Lexer::KEYWORDS) is illegal even in C++11. Visual C++ refused to accept it anyways (which doesn't prove anything!) This could have been solved using a std::vector, but that wouldn't change the other points.
- The keyword strings and their correspondence to token types is part of the language definition, and dependent on the TT data. This is why I think they should be in "definitions.hpp" file.
- There was a little bit of redundancy in setting the number of keywords by hand (only a little; but still!)
- Constant data (non-static) in class are per-instance, which meant the keywords would be repeated per instance of lexer. Not a big problem, but making them static would have meant that we have had static data with non-trivial constructors (String) which is a Bad Thing.