Remove libmagic dependency in favor of builtin binary detection

The builtin binary detection is likely less accurate than libmagic in some ways, but will be more accurate in the more common cases. libmagic has proven difficult in the past and has/had some questionable behavior performance wise that's been a thorn in my side for a while now.

The newer binary detection stuff here is based on an idea @peff and I had which he has given a try in a [pull request for git](https://github.com/github/git/pull/127). I'm pretty sure this will fix more issues than it breaks, but I'll make sure to put this through some pretty good testing regardless.

/cc @scottjg @vmg