Add some indirection when calling RubyZip

This will allow us to add alternate implementations, such as the one
provided by newer versions of RubyZip, or maybe a Java-powered one in
the future.
Support rubyzip 1.0

This adds a second zip adapter that uses the new API introduced by
rubyzip 1.0. Unfortunately, rubyzip 1.0 is no longer compatible with
Ruby 1.8, which warbler needs to support.

End users that wish to continue using warbler with a 1.8 interpreter
will need to prevent rubyzip 1.0 from being installed, such as by
using a pessimistic version constraint with Bundler.

To mimic this version constraint in the Travis environment, I had to
add a special 1.8 mode Gemfile to the Travis 1.8 builds.