Fix shebang detection

Disclaimer:  It's not finished yet.

I've found a problem with a repository of mine

https://github.com/github/linguist/issues/604

There I have a ```bin/pop``` file that's Ruby, though linguist recognized it as Perl.

This is my "WIP" approach to this problem. 
Pardon my mistakes, I have no experience with the linguist codebase.

Still got to fix some tests and return the language name instead of the whole object.

Please give some feedback :)