This should ensure the client gets built correctly.
added unit tests for sending requests over a channel.
fixed some issues with the channel code.
lots of fixes for the client.

- Added support for being used in a browser correctly.
- Fixed some of the previous logic.
- cleaned up large chunks of the code.