Introduce QuickCheck

This PR is intended to serve as a place to argue for/again adding
a quickcheck dependency to collect-rs. If the final decision is for,
merge it. If against, close.

The primary argument for adding this is that collections tests are
pretty much the ideal use case for quickcheck. There's a lot of tests
that exist right now that just check one special case of a very general
property, and would be more clearly expressed (and with better coverage!)
with a property-based testing framework like quickcheck. This can
greatly improve quality, readability, and coverage of tests for "free".

One argument against is that this adds an unnecessary dependency.

Another is that it makes code and tests harder to pull into libcollections.

Thoughts?
Here's a good example of a test that gets clearer with quickcheck.