Refactor kernel managers in preparation for the EmbeddedKernel.
Implement EmbeddedKernel.
Add abstract base class (ABC) for sockets used in kernel.
BUG: QtKernelManagerMixin does not define PyQt4-safe signals.
DOC: Add an example showing off the embedded Qt console.
REFACTOR: Terminology change: 'embedded' -> 'in-process'.
DOC: Add module-level docstring to in-process kernel example.
DOC: Add information about in-process kernels to What's New.
BUG: GUI integration broken in the in-process kernel.
TST: Add some unit tests for in-process kernel and kernel manager.
TST: Add more unit tests for in-process kernel manager.
BUG: raw_input logic incorrect for in-process terminal frontend.
Ensure that in-process test group doesn't create global IPython singleton.

Since the in-process group makes its own shells, it should avoid
creating the global singleton.
TST: Skip pylab test for in-process kernel when matplotlib is missing.
create a ipynbv3 json schema and a validator

cf http://json-schema.org/
http://tools.ietf.org/html/draft-zyp-json-schema-03

autogenerated from
http://www.jsonschema.net/index.html#
then tweeked.

This version makes all our notedooks in docs/example/notebooks valid
change prompt_numper type

prompt number type was number or string ('*', '&nbsp')
require it to be either number, or null
prompt_number : number -> integer
number -> integer
limit cell_level and nbformat(minor) values
require prompt number for code cell