Restructure tests for the different supported gems

Leverage Travis CI's multiple Gemfile ability and create a specific
Gemfile for each supported testing framework. This gives us the
ability to test against multiple versions of a framework, and also
helps draw lines in the sand where the pieces fit together.