Update client to correctly namesapce calls, allow for eventEmitter registration and allow options to be passed to the redis client creation.

* The namespace key was not being created correctly because this.key_prefix was being referenced by the function closure was being set as 'this' so the key prefix was being returned as null
* Move for loop to capture the method name that is being operated on so we don't continualy reference zunionstore
* The createClient should take opts call so we can pass through arbitrary options to the redis client creation.