Makes it easier to use a custom parameters class.

Simply overriding one method of the standard connection factory class,
used internally by Predis, allows developers to use their own custom
connection parameters classes through the whole library.

For example, in order to support Heroku-style URIs one can do:

  class HerokuParameters extends Predis\Connection\Parameters
  {
    protected function filter(array $parameters)
    {
      if (
        isset($parameters['scheme']) &&
        $parameters['scheme'] === 'redis'
      ) {
        $parameters['scheme'] = 'tcp';
      }

      if (isset($parameters['pass'])) {
        $parameters['password'] = $parameters['pass'];
      }

      unset($parameters['user'], $parameters['pass']);

      return $parameters;
    }
  }

  class ConnectionFactory extends Predis\Connection\Factory
  {
    protected function createParameters($parameters)
    {
      return HerokuParameters::create($parameters);
    }
  }

  $client = new Predis\Client($_ENV['REDISCLOUD_URL'], [
    'connections' => new ConnectionFactory()
  ]);

This idea comes in response to #196, but since we do not want to bake
support for SaaS-specific URIs in Predis this is the best compromise
we can offer leave developers free to implement their own logic for
handling these kind of URIs with the additional benefit of having it
available through the whole library (think of cluster or replication
where you have multiple nodes, thus multiple instances of connection
parameters to create).
Merge branch 'v1.0/custom-parameters'