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
Move js donc into function themselves.

Then it is possible in the browser js console to get the documentation
interactively.
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
Adapt headers to using Content Security Policy
Document Content-Security-Policy changes
Fix bug in example, describe CSP more
Handle CSP Reports
Log CSP violations via report
Set default policy to nothing, only report.
csp_report_uri caused a cyclic dependency
Log reporter policy to debug
Load the security service handlers.

Conflicts:
	IPython/html/notebookapp.py
Restrict frame-ancestors to 'self' in CSP