[tests] Add a PHPUnit constraint to verify commands.

Commands are verified by checking their IDs and optionally arguments.
Passing a command instance is only a shortcut to set the expected ID
and arguments, commands are never compared for identity but always for
equivalence.
[tests] Normalize casing of command identifiers in constraint.

We do not care much about the casing of command IDs in our constraint,
so it makes no difference for use if it is "SET" or "set".
Merge branch 'backport/tests-command-constraint' into v0.8
[tests] Improve the basic framework of our test suite.

We now have a base test case class for Predis (namely PredisTestCase)
grouping various commonly used utility methods shared by all of the
tests in the suite, greatly improving reusability.

NOTE: Backported from v0.9-dev.
Merge branch 'backport/test-suite-enhancements' into v0.8