Release.
Implement SCAN/HSCAN/SSCAN/ZSCAN

These commands are now in redis unstable and the upcoming 2.8

Tests are the Tcl tests translated into Ruby.
Only run SCAN tests on recent redis version
Use ruby<1.9 compatible hash syntax
Merge pull request #378 from badboy/scan-command

Scan command, fixes tests and restores ruby<1.9 compatibility
Cleanup.
Explicitly skip tests that don't match the Redis version.
Fix requires to allow running a single test.
Style.
Avoid use of `require_relative` since we still support 1.8.7.

Thanks @joshuaflanagan for pointing this out.
Make sure `test/db` is always available.

Closes #380.
Don't rely on `TestCase#skip` since it's not available on 1.8.7.
`#zscan` returns an array of key/score pairs

Each array within the array has 2 values:
  the first is the key, the second is the score.
`#hscan` returns an array of key/value pairs
Merge pull request #381 from joshuaflanagan/scan_return_vals

Improve return values for zscan and hscan
DRY up reply transformation.
Refactor `_scan` so that it doesn't need to check for its caller.
scan_each commands to wrap *SCAN cursor-based calls

The *scan_each commands can all take a block, and will yield each value
to the block.
If no block is provided, an Enumerator is returned.
Refactor `*scan_each` methods to capture and pass the block.

It's faster and cleaner.
More usable assertions.