Status Codes

This address #3. I've also added some failing tests for some important pieces of Middleware.

Additionally, I added a sigint catch right at the top level (see Mitchell's [tweet](https://twitter.com/mitchellh/status/283014103189053442)).

This doesn't have any drawbacks that I can think of.