Cleanup spitball errors

The most annoying thing with spitball are the errors that are returned when there is a problem parsing the gemfile or gemfile.lock. The server ends up returning a ton of HTML which makes it almost impossible to debug. I've tried to make this better by raise specific errors when parsing gemfiles, catching them in the server code, and returning them in a nicer way to the client.

In an effort to make debugging easier I've also added a html dashboard on the / route that lets you upload from the web instead of the client.