support URLs and zip/tarballs in install_extension
typo
rewrite _valid_formatter

- explicitly forbid method_descriptor
- explicitly allow builtin_function
- use inspect.getcallargs for any other callable
allow installing nbextensions with symlinks
add check_nbextension
add IPython.load_extensions in js
Merge pull request #5053 from jdfreder/js-test-refact

Move&rename JS tests
Merge pull request #4977 from minrk/scp-mkdir-p

ensure scp destination directories exist (with mkdir -p)
Merge pull request #5066 from minrk/pylab-examples

remove (almost) all mentions of pylab from our examples
flush replies when entering an eventloop

avoids possible hangs when the GUI eventloop prevents queued replies from being sent
add utils.get_data

for extracting *decoded* items from $('body').data
various unicode fixes

- remove notebookPath, notebookName, and baseProjectUrl methods everywhere
- use base_project_url *attributes* instead
- we should never use escaped URLs except when making an actual request

Should fix issues with double-escaping
test unicode path in dashboard_nav
holy crap, semicolons
only add .ipynb if extension is not included

prevents .ipynb.ipynb double extension
s/base_project_url/base_url/

deprecate NotebookApp.base_project_url
fix notebook_path in menu bar
s/get_data/get_body_data/
add utils.parse_url

strip repeated '//' in url_path_join
fix url encoding in services

At this point, zero attributes should be encoded URLs