get clear_output callback properly
test clear_output callback
move comm.js to base
add message metadata to comm and kernel.send_shell_message
s/init_widgets/init_comms
mention payload source key in execute_result
move comm.js to kernel service
attach comm_manager to kernel
make parent_header available from the Shell object
set parent header properly in comm messages
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
allow callbacks on status messages
set parent of status messages for comm_msgs
don't expose comm_id arg via new_comm