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
fix some validation bugs in v3

Python API had many inconsistencies with the actual spec
raise better ValidationError in validate

when oneOf would fail on a cell or output with an unhelpful error,
validate again against the target spec,
based on the output or cell type.
test and update conversion between v3 <-> v4
bytes/unicode fixes in v4.convert

for handling ascii bytes (converted from v2)
log, don’t raise on validation failure in v4.convert
update nbformat.current to v4
update nbconvert to nbformat 4
stream outputs match stream messages in v4
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.
pop nbformat_minor
minor adjustments to js test event waiting

- avoid ReferenceErrors on IPython
- avoid empty string for notebook_url in save.js (yay, async!)
preserve orig_nbformat when converting 3 to 4

preserves orig_nbformat = 2 in 2->3->4
update html/js to nbformat 4

`ipython notebook --script` is removed
update IPython.core to nbformat 4

affects `%run` and `%notebook`

removes `%notebook --format` conversion, that's what nbconvert is for.
update package_data with nbformat schemas