Adding Link widget
Adding directional link widget
Fix whitespace
Updated example notebook
Load link widget javascript
Load the link models
on("destroy",...) -> once("destroy",...) so we don't keep a reference to it, preventing gc

Thanks to Sylvain Corlay for the suggestion.
Add None as a widget visible value to allow for visiblity: hidden

Now, visible can have three values:
  * True - show the widget
  * False - hide the widget and collapse the empty space
  * None - hide the widget and show the empty space
Merge remote-tracking branch 'public-upstream/master' into links-rebase

Conflicts:
	examples/Interactive Widgets/Widget Events.ipynb
Implement blocking channels without Python threads
Collapse Qt out of process channel class hierarchy
Merge Qt*ChannelMixin up into QtInProcess*Channel classes
Factor out code to set up ZMQ sockets
Remove some dead code
Use messaging methods on kernel client instead of channel objects
Use client.execute in execute preoprocessor
Move methods to send specific messages from channels to KernelClient
Move kernel_info for adaptation onto KernelClient
Move ZMQ socket creation out of channels
Remove now-unused code