add create.Cell and delete.Cell js events

The events fire after the cell has been created or deleted.

closes #3154
don't blacklist builtin names

it is wholly appropriate for a class to have a `format` trait, or similar, but Config prohibits it.

This just removes that prohibition.
update config builtins test
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.
catch any exception appending output

HTML output can have javascript with errors, etc.

No output should ever raise, no matter what.

closes #3620
adjust `import_pylab`

it's all or nothing now, not all or some.
Now `pylab_import_all=False` should mean that *no* symbols are added to the user namespace.

This also removes `figsize` from the pyplot namespace, which is weird and confusing.
add `%pylab --no-import`

allows override of the import_all option when the magic is called
warn about names clobbered by `%pylab`
don't double-decorate in `flag_calls`
update pylab_import_all help string