Widget Messaging Protocol (IPEP 21)

This implements [IPEP 21: Widget Messaging](https://github.com/ipython/ipython/wiki/IPEP-21:-Widget-Messages).
Why is it necessary to send a `busy` message here?  The event loop already [sends a busy message](https://github.com/JuliaLang/IJulia.jl/blob/master/src/IJulia.jl#L114) for every message it handles.