allow markdown in heading cells

italics, bold, math, etc.

closes #3053
add Application.launch_new_instance classmethod

allows uniformity when making changes.

The change here that prompted it is passing arguments to the instance constructor and initialize.
use launch_new_instance classmethod to launch apps
add IPython.start_ipython

A public API for starting a real (non-embedded) IPython instance.

should avoid API breakage in the future due to simple module renames

as has just happened with the removal of frontend
expand start_ipython / embed docstrings

clarify the difference between them.
add IPython.start_kernel

for symmetry
Application.launch_instance

removes `new` from method name, since it isn't accurate.
use start_ipython in entry points

increases visibility of the public API to snoopers.
remove extra empty lines
Add failing test for gh-3547
Simplify caching of modules from %run-ing scripts.

Previously, we cleared and re-used a single FakeModule instance in which to
run cells, and cached copies of the modules' namespaces to prevent them from
being cleared. Now, we cache one FakeModule instance per script file, clearing
it and re-using it if the same script is re-run. This seems more robust.

Closes gh-3547
Another passing test :-)
Minor tweak to test for Python 3
up default max_msg_size to 1MB
warn about messages dropped due to oversize
style.min.css shoudl always exist...

as IPython and nbconvert shoudl always be in sync now.
Trigger a single event on js app initilized

Usefull to bind to extension loading, to load only once
add PYTHONSTARTUP to startup files

closes #2706
tweak `run -d` message to 'continue execution'

clarify any ambiguity with 'start'.

closes #3464
Added support for markdown in heading cells when they are nbconverted.