Markdown in heading cells (take 2)

small typo prevented the previous implementation from working.

This also moves the rendering to the 'render' method,
away from set_rendered.

closes #3053

(again)
truncate invalid multi-line headers
merge heading lines

markdown headings must be a single line
remove unnecessary heading-anchor

residue from when the heading text itself was a link

the id is on the header tag itself,
and the link is anchor-link
allow extra pandoc args
use mathjax-style for math passing through pandoc to html
add html_text and add_anchor filters

- html_text is like $(element).text
- add_anchor add the anchor url and link for heading cells
enforce  single-line heading cells in templates
use plain markdown for headings in base latex

addresses the fact that many generic markdown operations are not allowed within settings, and pandoc will handle these.

Sphinx still has its overrides because it needs to change the level mapping.
add some missing parentheses
use markdown for rst headings

underlines and all, no need to measure length.
remove boilerplate.css

it is redundant with bootstrap reset
add IPython-only CSS

adds static/style/ipython.less and ipython.min.css

Which should contain minimal styling that conflicts with other CSS.

As we improve our CSS scoping and naming,
this file should eventually be enough to play nice with embedding IPython in other HTML contexts.
move font-awesome to style.less from notebook-specific less

allows it to be excluded from ipython.min.css,
where it doesn't make much sense.
increase patience for slow kernel startup in test_message_spec

should decrease the false CI test failures with `Empty` on slow testing VMs.
don't assume tested ipython is on the PATH

Use more portable / reliable `python -m IPython`

especially helpful when there are many Pythons,
or PATH is not reliable (Windows).
getoutput wants a string, not a command list
use `python -m IPython` in test_console as well
Python 2.6 doesn't support `python -m IPython`

add workarounds to testing.tools and test_console
Don't require HistoryManager to have a shell

Allows use of HistoryManager to work with history database without a shell instance present.