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)
actually send only one kernel_info request

store the Future for the initial request,
allowing subsequent requests to wait on the same pending reply.

Previously, any incoming requests that arrived while waiting for the first reply would send their own request.
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
copy nbformat.v3 to v4
update v4 schema

use jsonschema refs, no need for jsonpointer
update v4 schema mime-type expression

fixes inappropriate JSON match
source is required in all cells
raise ValidationError in v4 validate

also only load the schema once and store it in a module global
first complete pass on v4

tests passing, notebooks validating
Use Draft4 JSON Schema for v4
no longer need separate v4.compose

put it back in nbbase, and work around circular import another way
mv stream.stream > stream.name in nbformat.v4

matches message spec
test and update conversion between v3 <-> v4
log, don’t raise on validation failure in v4.convert
update nbformat.current to v4
update nbconvert to nbformat 4
strip transient values to/from nb files

orig_nbformat isn’t part of the file format
add nbformat.output_from_msg

for creating the appropriate NotebookNode from
an output message on the IOPub channel.