Add default content type

I started working on a fix for #3 before @chriseldredge beat me to the PR, but my fix also added a middleware for adding a default content type when none was present. This PR has that change (and some clean-up).