Reverting irrelevant changes

Some of the changes that I made (to .gitignore, the Rakefile, and adding
the Nim pygments lexer in the project root) were useful only to me and
should not be a part of the final commit.
Visual spec + tests

Added unit tests to ensure that the Nim Lexer would recognize files
ending in '.nim'.  I also expanded what was included in the visual spec
file to better include edge cases.
Nim: Added func keyword