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?
Gemfile.lock is nolonger considered generated
Merge pull request #1733 from github/gemfile-lock-not-generated

Gemfile.lock is nolonger considered generated
fix vendor/cache
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
Merge remote-tracking branch 'origin/master' into filename-matches-multiple-langages

* origin/master:
  Allow mime-types 2.x to be used with Linguist
  Upgrade to rugged 0.22.0b1
  Mention that languages need to be quite popular
  fix vendor/cache
  Gemfile.lock is nolonger considered generated
  Tests for BlobHelper#empty?
  remove reference to empty.js
  Remove more empty samples
  Bail earlier if the file is empty.
  Moving comments
  Use heuristics earlier to inform the rest of the classification process
  Removing inconsistency of `find_by_heuristics` (was sometimes returning nil and sometimes returning and empty array)
  Removing unused array of candidate languages.
  Reworking most heuristics to only return one match