Require samples if filename matches multiple languages

We test for samples for any extensions with multiple matches, but not for the filename. `Language#detect` blows up in master right now on `pom.xml` because `#find_by_filename` returns both "Maven POM" and "XML" as possible results and then tries to classify them, but we don't have any samples for Maven POM.

This updates the test and now we have 6 failures. We require samples for every declared extension. Should we also be requiring a sample for each declared filename?

```
  1) Failure:
TestSamples#test_Ant Build System_has_samples_if_necessary [/var/lib/jenkins/workspace/linguist/test/test_samples.rb:65]:
Ant Build System is missing a samples directory

  2) Failure:
TestSamples#test_Maven POM_has_samples_if_necessary [/var/lib/jenkins/workspace/linguist/test/test_samples.rb:65]:
Maven POM is missing a samples directory

  3) Failure:
TestSamples#test_Nginx_has_samples_if_necessary [/var/lib/jenkins/workspace/linguist/test/test_samples.rb:65]:
Nginx is missing samples for nginx.conf

  4) Failure:
TestSamples#test_PHP_has_samples_if_necessary [/var/lib/jenkins/workspace/linguist/test/test_samples.rb:65]:
PHP is missing samples for .php

  5) Failure:
TestSamples#test_Ruby_has_samples_if_necessary [/var/lib/jenkins/workspace/linguist/test/test_samples.rb:65]:
Ruby is missing samples for Gemfile.lock

  6) Failure:
TestSamples#test_Zephir_has_samples_if_necessary [/var/lib/jenkins/workspace/linguist/test/test_samples.rb:65]:
Zephir is missing samples for exception.zep.c
````

/cc @vmg @arfon @pchaigno https://github.com/github/linguist/pull/1714
I guess we could just sort the whole list if we're getting rid of `primary_extension`