Update IPython Pygments lexers.
Remove executable flag on __init__.py
Update code for making sphinx aware of IPython console lexer.
Add some discussion about new lexers.
Make IPyLexer available in Pygments as 'ipython' and 'ipython3'.
Skip doctests for IPythonConsoleLexer since they aren't doctests.
Update docstring for IPythonConsoleLexer.
Insert copyright again.
Updating some comments to reflect the actual code.
lexerself -> lexer.
More updates to comments and docstrings.
Make 'matplotlib' optional when using the ipython directive.
Add `ipython_execlines` option to IPython directive.
Update module docstring for IPython directive.
Fix bug where exec_lines was ignored within ipython directive.
Add 'float' option to @doctest pseudo-decorator.
add utils.url_join_encode

like url_path_join, but escapes url components
make sure to encode URL components for API requests

notebook names can have spaces, hashes, other special characters.
Clean up handling of default values for ipython_mplbackend, ipython_execlines.

When specified as `None` in conf.py, this is treated the same as if not
specified in conf.py at all.
Simplify ipython_directive backend specification.