added a simple logger, with support for silent.

Also, fixed an issue with channels throwing an error when there was no waiting callback.
fixed minor issues with channels.
added missing connect message.
added connect timeout support.
added queueing of messages while in a reconnecting state.