#language should be nil for binary blobs

This simplifies `#language` and ensures that it always returns nil if the blob is binary. I couldn't reproduce a test case that exposes the issue in #936, but it does fix the detection for that repository. I would love suggestions for a test case to reproduce it.

Before:

```
88.63%  Eiffel
7.69%   C++
1.78%   C
1.13%   Python
0.37%   TeX
0.29%   CSS
0.09%   FORTRAN
0.01%   Objective-C
0.01%   Shell
0.00%   JavaScript
0.00%   Matlab
```

After:

```
67.63%  C++
15.63%  C
9.95%   Python
3.27%   TeX
2.56%   CSS
0.78%   FORTRAN
0.06%   Objective-C
0.05%   Shell
0.04%   JavaScript
0.02%   Matlab
```


Closes #1118 
Closes #936
Closes #1119 

/cc @arfon @tnm @rick @permcody @pchaigno