Refactoring: encapsulated queue behind reader and writer objects.
No more circular dependencies in ChannelFactory
Fixed broken doc reference
Added connect_and_open_channel convenience function