Use the more powerful signatures module to display function argument signatures. In particular this works better for functions wrapped with functools.wraps (at least on Python >= 3.4)
Add notion of action that differs from  shortcuts.

This decouple the notion of shortcut from the notion of executed "action"
This allow the shortcuts manager to be purely describe as data, and the
same action to be later refered to either from the shortcut, from a toolbar
button or a menu.

This also implement a more complete keyboard shortcut handler which is
able ton interpete sequences like `Cmd-X,Meta-v` By storing the
shortcuts in a tree.
remove debug
add test warning shadow
Use native map when possible

Implemented on all modern browser.

There is a small behavior difference between $.map and Array.prototype.map
but we don't rely on it.

(jQuery flatten arrays and filters null-like)
use `pip install .[all]` on travis

can't actually use `.[all]` syntax, instead using `file://$PWD`,
but the principal is the same.

get wheels from minrk/travis-wheels to expedite installation
remove timings in travis.yml

Travis does its own timing now
add 'requests' as test dependency

since it is one
create new terminals with POST /api/terminals

instead of GET terminals/new

to be consistent with creating new notebooks.

We had to stop using GET notebooks/new
because browsers would create new notebooks when making preview thumbnails for commonly visited pages, etc.
I assume the same issue would apply to terminals
upate exmaple notebooks to nbformat v4
Make a window immediately, and set its location on response

Avoids the need for async:false
Close new window on error creating terminal
Fix bug where cell toolbars are not redrawn,
when cell metadata is changed.
distinguish capture_output from buffer_output

allow capturing output without silencing it,
which is useful for slimerjs,
which requires looking at output to determine failure.
DEV: Support for configurable list of extra jinja template directories.
Merge pull request #6860 from minrk/slimerjs

distinguish capture_output from buffer_output
DEV: Add IPython.html to the default template path.

This makes it possible to override a file with a template that also
inherits from that file.

For example, this makes it possible to override a single block of
notebook.html by creating a file called notebook.html that inherits from
templates/notebook.html.
Update components to codemirror 4.7
Merge pull request #6865 from takluyver/cm4.7

Update components to codemirror 4.7
allow multiple forms of latex math in test_markdown

different versions of pandoc use different escapes