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
document utils.parse_url
adjust some events in nb_roundtrip

hopefully should address some intermittent failures due to race conditions
Merge pull request #5043 from minrk/base-url-unicode

various unicode / url fixes
Merge pull request #5062 from minrk/js-test-races

adjust some events in nb_roundtrip
don't create js test directories unless they are being used

just moves a setup block from `__init__` to `launch`
Merge pull request #5083 from minrk/one-nb-server

don't create js test directories unless they are being used