Emitted events are now handled differently from published events
WIP: Create channel object on the client
Fixed issue where actions would fail to timeout when disconnected
Added optional callbacks to subscribe and unsubscribe methods
Persistent events should never timeout
Made variable names consistent
Ready event should trigger after escaping the current call stack
subscribeFail event should pass error object as first argument
Simplified timeout handling logic
Added isSubscribed() method
Don't emit subscribe event if channel is already subscribed
There can now only be a single channel instance for each subscription
Refactor Object.create polyfill to separate file
Refactoring - Approaching final design
Moved logic from scchannel to scsocket
Emit simplified event object
Merge branch 'emit-publish-separation'