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?
Mention that languages need to be quite popular

The precedent seems to be "hundreds of repos".
Merge pull request #1736 from github/aroben-patch-1

Mention that languages need to be quite popular
Upgrade to rugged 0.22.0b1

0.21.2 was just released but doesn't contain the Repository::Attributes
code we depend on. 0.22.0b1 has this code.
Merge pull request #1738 from github/update-rugged

Upgrade to rugged 0.22.0b1
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
Add F# sample.  Add Forth extension .fs.