Refactor: Remove support for multiple protocols

This removes the boilerplate code supporting more than one RPC protocol as it
was becoming hard to maintain and we probably won't ever need it.
Refactor: Use size_t for {w,r}streams.c
Refactor: Use "refcount" memory management for WStream buffers

Now `wstream_write` receives pointers for WBuffer objects(created with
wstream_new_buffer), which stores a reference count to determine when it's safe
the free the buffer. This was done to enable writing of the same buffer to
multiple WStream instances
Add kvec.h macro library
API: Events: Add support for broadcasting events

The channel_send_event will now broadcast events to all subscribed channels if
the 'id' parameter is 0.