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.
only check for formatters on instances

use inspect.isclass to disallow unbound methods,
not type checking on the method itself
define kernelpath for clientside notebook manager
return API path instead of filesystem
Print exception instead of "KeyboardInterrupt"

Whenever a KeyboardInterrupt exception occurs in the shell, we should
print the actual exception instead of the string "KeyboardInterrupt".
This is needed to support exceptions inherited from KeyboardInterrupt.
Fix test_get_exception_only() for Python 3
Use sys.path to make filename in traceback absolute
remove _valid_formatter

check in _safe_get_formatter_method

- reject classes
- allow any callable...
- ...except on objects that lazily produce callables at any attribute
gh-7053: check for OSError during rehashx()
Clean up get_kernel_path logic
Allow FileLinks to not recursive into subdirectories
Remove unneeded modules, and added docstring info on recursive parameter
Make the model.views dict a dict of promises for views

Otherwise, there is a race condition where the model doesn't know about views until they are actually created.
Added --no-banner arg to qtconsole

Refs #6343