Tests against all the mime-types; correct dependencies once and for all

The most important parts of this PR are

1.  Loosening the dependency on mime-types from ~1.16 to  >= 1.16 and < 3
2. Adding appraisals to run tests across all these mime-types versions

There are a lot of PRs and issues related to this work, but none of them, I think fully (or correctly) addressed the issue.

- #697
- #695
- #692
- #690
- #662
- #661
- #641

@ConradIrwin I'm happy to add another commit to specify ruby 2.1 support.