Pull in aliases and file extensions from Pygments

Fenced code blocks in Markdown on github.com currently let you specify either a Linguist language name or alias, or anything that matches a Pygments::Lexer. My goal here was to remove Pygments from the equation: we should be able to find a Linguist::Language for any fenced code block without consulting Pygments.

The commit messages explain the process in detail, but the basic idea here is to take all the aliases and file extensions that Pygments knows about and put them into Linguist itself.

/cc @vmg @arfon @bkeepers