Using a class varilable instead of temp files for keeping track of docs.

:meth:`IpythonDirective.setup` method was using a temporary file, such
as :file:`/tmp/seen_docRANDOM`, for storing visited source document
filenames. For a document that is not visited (name not in the temporary
file), it restarts counting line numbers.  Temporary file names are
selected randomly and they were not deleted from the disk upon
completion of a build. Since :meth:`.setup` picks a temp file
arbitrarily to visited status of a file is determined incorrectly.
Using a class variable resolves this problem.

Changed the directive setup function to use a class files for keeping
track of documents.
Fixed a problem with evaluating indented lines in pure python code.

:meth:`EmbeddedSphinxShell.process_pure_python` could not process
block of code with indentation correctly. For example, the following

.. ipython:: python

   for i in range(10):
       if i < 5:
           continue
       else:
           pass

would result in two IPython lines:

In [19]: for i in range(10):
   ....:      if i < 5:
   ....:          continue
   ....:

In [20]: else:
   ....:          pass
   ....:

This would raise various types of error, indentation/snytax, etc.

To resolve this problem, added a simple check for indentation
in the next line which normally start a new IPython line.
Merge branch 'master' of https://github.com/abakan/ipython
Reverted an unintended change in matplotlib backend.
base IPClusterApp inherits from BaseIPythonApp

closes #3424
process escapes in mathjax

allows  to enter dollar signs in markdown.
Merge pull request #3428 from minrk/escapeDollar

process escapes in mathjax

\$ can now be used to insert dollar signs in markdown cells
Update __init__.py

Explicit relative import allows the local module to be loaded.
In absence of which the user experiences an Import Error.
Merge pull request #3298 from abakan/master

Some fixes in IPython Sphinx directive

Made two fixes in plot_directive module:

 - a problem with interpreting pure python code with multiple levels of indentation
 - a problem with keeping track of visited files when restarting ipython line numbers
Merge pull request #3433 from codebraker/patch-1

Update IPython\external\path\__init__.py
Merge pull request #3425 from minrk/clusterv

base IPClusterApp inherits from BaseIPythonApp
Expose configuration to start qtconsole maximized and hide the menu bar on startup
Merge pull request #3431 from dankilman/master

Provide means for starting the Qt console maximized and with the menu bar hidden
Add -q option (suppress print upon creation) to %macro

Macros are very, very useful and "Matlab" like (as well as other similar
math computing environs). Often I (or my students) use a macro to load
long complex code from a url -- e.g., large data sets, simulated data,
preprocessing of data, special plotting commands, grading routines...
Currently, this requires defining the macro at the end of the notebook
so when the "print upon creation" occurs it doesn't overwhelm the
notebook (except at the end).  The -q option suppresses the print
contents upon creation.

Example with a Matplotlib example:

In[1]:  %macro  tmp http://matplotlib.org/mpl_examples/api/date_demo.py
Macro `tmp` created. To execute, type its name (without quotes).
=== Macro contents: ===
"""
Show how to make date plots in matplotlib using date tick locators and
formatters.  See major_minor_demo1.py for more information on
controlling major and minor ticks
...

In[2]: %macro -q tmp2
http://matplotlib.org/mpl_examples/api/date_demo.py

(nothing)

Perhaps, though, the first line should print -- e.g.,

Macro `tmp` created. To execute, type its name (without quotes).

In the docstraing, I also fixed  a typo (an "as" that should be an "at")
and clarified how to produce an example output.