a nicer error message when using %pylab magic

If the user specified an unsupported backend, there was no indication
for what the valid names were. Error message prior to this commit:

    In[1]: %pylab xxx
    ERROR: Backend u'xxx' not supported.

after this commit:

    In[1]: %pylab xxx
    ERROR: Backend 'xxx' not supported. Supported backends are: gtk inline osx qt qt4 tk wx
check for markdown no longer needed, closes #3610

After #3582 was merged, we no longer depend on a python version of
markdown
Merge pull request #3555 from takluyver/i3547

Simplify caching of modules with %run.

Previously, we cleared and re-used a single FakeModule instance in which to run scripts, 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.

Closes #3547, and fixes another test that was marked as a known failure.
Merge pull request #3611 from ivanov/no-markdown-check

check for markdown no longer needed, closes #3610

After #3582 was merged, we no longer depend on a python version of
markdown.
Merge pull request #3586 from breisfeld/master

Corrected a typo in the format string for strftime the sphinx.py transformer of nbconvert
updated .mailmap
fix regular expression for ANSI escapes

wouldn't catch `\x1b[01;`, only `\x1b[0;` or `\x1b[1;`.

closes #3614
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 examples for interactive use of MPI.

Closes #2934.
Merge pull request #3615 from minrk/ansilinux

Fix regular expression for ANSI escapes, which wouldn't catch `\x1b[01;`, only `\x1b[0;` or `\x1b[1;`.

Closes #3614.
expand ANSI color support

adds support for 256 colors

does not yet add support for themed 16-color mapping ([01;38;5;[0-15])

closes #3617
Merge pull request #3616 from fperez/interactive-mpi

Add examples for interactive use of MPI.
Merge pull request #3612 from ivanov/mailmap

updated .mailmap
Merge pull request #3592 from minrk/config-file

add extra_config_file

and --config alias

for loading a single extra config file, e.g.

ipython notebook --config mycfg.py
which will be strictly in addition to, and at higher priority than, existing config files, profiles, etc.

Note that the loading code hasn't changed, it's just indented to put it in a for-loop.

This is added primarily for nbconvert, but the NbConvertApp will need to be fixed to properly inherit flags and aliases from the base application, like all other IPython apps.
Merge pull request #3608 from ivanov/nicer-backend-msg

a nicer error message when using %pylab magic

If the user specified an unsupported backend, there was no indication
for what the valid names were. Error message prior to this commit:

In[1]: %pylab xxx
ERROR: Backend u'xxx' not supported.
after this commit:

In[1]: %pylab xxx
ERROR: Backend 'xxx' not supported. Supported backends are: gtk inline osx qt qt4 tk wx
add ansi background colors
add indexed-color in 256-color support
be pedantic about VT100 vs ANSI in comments