Retry delay - selectDB on array

Added the possibility to delay each reconnection attempt, including a
random factor to prevent several or many concurrent connections from
trying to reconnect at the same time.
Added the select command to RedisArray to select a DB on every
connections in one instruction.
New select DB command to RedisArray - Added retry delay on reconnect

Added the possibility to delay each reconnection attempt, including a
random factor to prevent several or many concurrent connections from
trying to reconnect at the same time.
Added the select command to RedisArray to select a DB on every
connections in one instruction.
Also, fixed a compiler warning:
redis_array_impl.c:1115:15: warning: incompatible pointer types
assigning to 'zval **' (aka 'struct _zval_struct **') from 'zval
**(*)[2]' [-Wincompatible-pointer-types]
Revert "New select DB command to RedisArray - Added retry delay on reconnect"

This reverts commit 6091727ba363e5afe7d6d373349fc7dd55affff7.
Revert "Retry delay - selectDB on array"

This reverts commit 3fb643211e524112bd9a19792f833b12b68de600.
New select DB command to RedisArray - Added retry delay on reconnect

Added the possibility to delay each reconnection attempt, including a
random factor to prevent several or many concurrent connections from
trying to reconnect at the same time.
Added the select command to RedisArray to select a DB on every
connections in one instruction.
Also, fixed a compiler warning:
redis_array_impl.c:1115:15: warning: incompatible pointer types
assigning to 'zval **' (aka 'struct _zval_struct **') from 'zval
**(*)[2]' [-Wincompatible-pointer-types]
Merge remote-tracking branch 'upstream/master'

Conflicts:
	common.h
Added lazy_connect option to RedisArray

Added an option to let each RedisArray connection connect lazily to
their respective server. This is useful then working with a redis
cluster composed of many shards which are not necessarily in use all at
once.
Merge remote-tracking branch 'upstream/develop' into develop

Conflicts:
	library.c
	library.h
	redis.c
	redis_array.c
	redis_array_impl.c
	redis_array_impl.h
	redis_session.c
Added lazy_connect option to RedisArray

Added an option to let each RedisArray connection connect lazily to
their respective server. This is useful then working with a redis
cluster composed of many shards which are not necessarily in use all at
once.
Merge remote-tracking branch 'upstream/develop' into develop
Easy resharding distributor

An integrated distributor for easy resharding.
Works on the principle of redistributing keys from 1 shard to 2 shards
evenly.
Easy resharding distributor

Updated documentation
Easy resharding distributor

Updated documentation
Easy resharding distributor

Updated documentation
FIx C99 compliance

FIx C99 compliance
Changed distributor to accepts strings

Changed distributor to accept strings as well as longs so that
definitions parsed from parse_ini_files may be used as is
Fix poor performance on initial use

Fix poor performance on initial use of easy reshard distributor
mechanism.
Redis >= 2.6.12 extended set options

Implement the new SET options as per the redis documentation:
http://redis.io/commands/set

You can now pass the new options (ex=>sec, px=>milisec, xx, nx) as
an array of options to the SET command and phpredis will handle them.

If you pass key, value, <long> phpredis will still redirect to SETEX
as it did before (to avoid breaking implementations).

Addresses #364
Merge branch 'hotfix/ra_mget_segfault'
Merge remote-tracking branch 'mobli/develop' into feature/mobli_ra_changes

Conflicts:
	redis_array.c
	redis_array_impl.c
	redis_array_impl.h