Add a mode to exec code in %debug magic
Document the new usage of %debug
Merge pull request #3071 from tkf/drun

Extend the `%debug` magic to also run a statement under the control of a debugger, if called with arguments.

If called with no arguments after an error has occurred, it continues to work as before.
Merge pull request #3623 from minrk/pylabusageerror

raise UsageError for unsupported GUI backends
Merge pull request #3618 from minrk/ansilinux

expand terminal color support (16 and 256 ANSI colors)
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
add `%matplotlib` and `shell.enable_matplotlib`

Now `%matplotlib` / `enable_matplotlib` do the bulk of the work. `%pylab` / `enable_pylab` just add namespace population on top of that.

Related changes:

- remove `pylabtools.activate_pylab`
- shorten backend message to just `using matplotlib backend: <backend>`
- only show backend message when magics are called with `auto`,
  never from Python methods or when backend is explicit.
- pylab clobber warning is only displayed in the magic, not the Python method.