Fix DispatcherLoop error with client prefix keys

DispatcherLoop works properly if a client have configured a
prefix for the keys or not
Expose underlying client object from pub/sub iterators.
Slightly rework original pull request.
Make callbacks properties protected in the DispatcherLoop class.

This makes easier to extend the class. The underlying pub/sub iterator
property is still private, but can be accessed via public getter method.
Add tests for prefixed Predis\PubSub\DispatcherLoop.
Merge branch 'github/pr/114' into v0.8