Increase size of range request in getrange

32 bit builds don't have a big enough long to capture
the same range as a 64 bit build.  If we use "long long"
we get proper size limits everywhere.

Also updates size of unsigned comparison to fit new size of `end`.

Fixes #1981
Return empty string if GETRANGE of empty string

Previously, GETRANGE of a key containing nothing ("")
would allocate a large (size_t)-1 return value causing
crashes on 32bit builds when it tried to allocate the
4 GB return string.
Add Travis CI
Add automated testing for creating clusters

This script creates many different cluster configurations
by varying the number of instances and replica counts
defined at cluster initialization time.  If any cluster
topology fails to converge successfully, the entire test fails.

This script currently works on my OS X system and in a Linux VM.
It's designed to work on a CI server so it just runs
in the background and the system will report if the script
fails.
Add Redis cluster test to CI

test all the things!
Add "make 32bit" test