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.
Document how test_message_spec works
Add version_request/reply messaging protocol
Add a test for version_request in test_message_spec.py
Change version protocol according to the discussion in #2649
Remove version field from msg_header
Start protocol version from 4.0