3.0.0 Dev branch

Development branch for the next version of Linguist with Rugged support.

cc @jakedouglas @github/linguist 
> Also, if we're truncating, the MAX_SIZE computation deals properly with unicode characters? (probably irrelevant if we're not)

Nah, no way, that would be incredibly expensive. Which is fine. The classifier will work just the same in the offchance the buffer does not have a valid UTF8/UTF16 encoding because the 131072nd byte was a multibyte codepoint.