* add pub sub client implementation with examples
* replace subscribed_channels list Vec with HashSet to avoid duplicates
* update Subscriber to use async-stream instead of manual Stream impl
* revert update to error handling server.rs, as #21 handles it
* remove uneeded recursion limit extension
Continuation of #11. Refines the client structure and implements GET.
`clap` is decoupled from the lib code. This is done to avoid any CLI
parsing concerns to leak into the lib. The main motivation for this is
to allow the reader to focus on Tokio concerns and not CLI parsing
concerns.