API Events: Return channel id from the discover request

This refactors msgapck_rpc_{dipatch,call} to receive the channel id as
argument. Now the discovery request returns the [id, metadata] array.
API Events: Implement channel_send_event and vimscript wrapper

This function can be used to send arbitrary objects via the API
channel back to connected clients, identified by channel id.
API Events: Implement channel_broadcast_event and vimscript wrapper

This is similar to channel_send_event, but the event is sent to all
open channels.
Add missing files to clint and fix errors