Add support for pattern pub/sub
pmessage sends ('pmessage','pattern','channel','payload'), this update reflects that
Merge similar code patterns and add a test case for PSubscribe