Use Linguist lexers

This pull request uses Linguist instead of Pygments to determine which the correct lexer.
This would be more accurate since Linguist sometimes defines languages that Pygments doesn't know (and uses the lexer of another language, see [M](https://github.com/pchaigno/linguist/blob/master/lib/linguist/languages.yml#L1351-L1353)).

If this pull request is merged and the [Linguist gem updated](#152), it would solve the issue at github/linguist#1468.

/cc @bkeepers