only validate package_data when it might be used

closes #5046
run check_package_data as part of build_py

rather than explicitly in setup.py
add regex support to AssertPrints
add IPython.html.nbextensions.install_nbextension

for installing files into IPYTHONDIR/nbextensions
add `ipython install-nbextension` entrypoint
add install_nbextension at top-level IPython.html
support URLs and zip/tarballs in install_extension
typo
allow installing nbextensions with symlinks
add check_nbextension
add IPython.load_extensions in js
Remove legacy azure nbmanager
handle image size metadata in nbconvert html
minor notebook logging changes

log refer only on 4XX, and never log user agent

This function was ported from nbviewer, and some of the choices were not quite right for the notebook server.
remove base_kernel_url
Remove remaining refs to the Azure NB Manager
band-aid for completion

Unlike @Carreau's attempt at using proper CodeMirror completion,
this is just a band-aid to get the existing completion back to working for 2.0.

This adds a keypress handler on the completer,
which then calls insert with the charCode of the key press event,
replacing the final `elif` branch of the keydown handler.

This cannot be done with keydown,
since keydown doesn't know what character is incoming,
only the hardware key that is struck.
Add documentation for removal
Add pointers to simple nb manager and bookstore.
Removed 'list' view

Only provide 'details' view