allow metadata in Kernel-side Comm messages.
add CodeCell.get_callbacks

for reusing default execute callbacks
add unregister_target to CommManagers
log exceptions in Comm handlers
add target_name as first arg to Comm constructor
Add CommManager.new_comm

Javascript-side version for creating and connecting Comms in one call

Without a `get_ipython()`-like global handle,
Comm constructor can't do the same magic as the IPython one.
catch errors in comm callbacks
Fix try block