3.0.0 Dev branch

Development branch for the next version of Linguist with Rugged support.

cc @jakedouglas @github/linguist 
The returned buffer will be truncated to `MAX_SIZE`, which should still give us plenty of data to work with when it comes to detection, while preventing allocating large buffers in Rubyland, something that the MRI GC sucks at managing.

Note that the returned @size will still be accurate, so that won't affect language counts or the like.