Detection based on the shebang

This PR fixes the problem reported in #1185.
One of the PHP sample files had the extension `.modulo` thus making this extension a PHP extension for linguist. I changed it to `.script!`.

The second commit adds the detection based on the shebang for files with an unknown extension (ie. an extension which is not in `languages.json`).