Reworking most heuristics to only return one match
Removing unused array of candidate languages.
Removing inconsistency of `find_by_heuristics` (was sometimes returning nil and sometimes returning and empty array)
Use heuristics earlier to inform the rest of the classification process
Moving comments
Bail earlier if the file is empty.

This will change behavior for empty files with unique extensions, returning nil instead of the language.
Remove more empty samples
remove reference to empty.js
Tests for BlobHelper#empty?
require samples if filename matches multiple languages
Link to contributing docs
Adding sample pom.xml files
Removing extensions when they should be filenames
Make pedantic test actually pedantic

What do you call someone that thinks they are pedantic but actually
aren’t? All the crazy custom parsing in this test was making so it
wasn’t actually doing anything.
Fix errors from pedantic test
Extensions aren't actually required
Allow mime-types 2.x to be used with Linguist

The API is compatible for our purposes, and this allows Linguist to be
used in apps that pull in newer versions of mime-types through other
gems.
Merge pull request #1674 from github/rework-heuristics

Rework heuristics
Merge pull request #1737 from github/relax-mime-types

Allow mime-types 2.x to be used with Linguist
Merge pull request #1734 from github/just-filenames

Removing extensions when they should be filenames