Update docs badge in README

Update the URL of the docs badge to include it from inch-ci.org instead of inch-pages.github.io (the former being the successor of the Inch Pages project).
test-config: dynamically build test.conf to provide absolute paths

redis config requires absolute paths for pidfile, unixsocket, and logfile
directives, and interprets relative paths incorrectly without errors.

Dynamically build the test.conf from an erb file if it is not present. This
has the side-effect of creating a single source of truth for these values.

Resolves #439
add *gem  to .gitignore
changelog: remove (unreleased) caveat from 3.1.0 header [ci skip]
doc: mapped_hmset doesn't accept empty hashes

Since we elected not to accept [#416][], update documentation
to explicitly state that the supplied hash must not be empty.

[ci skip]

[#416]: https://github.com/redis/redis-rb/pull/416
Initial native support for Sentinel.

This commit implements native support for Sentinel. At API level it is
exposed using the :url connection method, where the master name is
passed using the sentinel://mastername scheme. It is possible to pass
a database number as well adding an additional slash.

When Sentinel support is used, it is mandatory to pass a list of
Senitnel instances to contact to get the configuration update. The list
is passed as an Array of Hashes with :host and :port.

By default it will try to resolve who is the current master, and will
connect to it. However we may want to connect to a slave. For this
:role => :slave should be passed as an additional option, but
this support is not implemented by this commit, so :role => :master is
hte only valid one.

This code implements the new Sentinel - Client interaction. See the
discussion in the Redis mailing list here:

https://groups.google.com/d/msg/redis-db/uNqWceEjV8g/wfoSy24ktJcJ

However the code is designed to be backward compatible with older Redis
and Sentinel instances not supporting, respectively, the ROLE command or
the disconnection of clients on role switch. Of course without the
new protocol the system is less safe.
Dead code setting an unsed gotit var removed.
Consistency test added to examples.
Sentinel support: handle slave role.
Sentinel support documented into the README.
Minimal Sentinel example added.
use random port

if port 9999 is in use the tests will fail because the port is hardcoded
I have added a try/catch with Random. It fixes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=755320
do not raise an other exception, use the orginal
support all ruby versions
add pubsub
Merge pull request #455 from hggh/random_port_tests

use random port for tests
add tests
remove .order file
remove unnecessary comments
Merge pull request #458 from allomov/remove-order-file

Remove .order file since it is not needed.