ipython: reenable mathjax and fix issue 3537.
Revert "Remove IPython sniffing" to fix part of issue 3728.

This reverts commit a4541e3af31eb33f4559d56e069d1150f332194b.
Don't load latex in ipython-console (terminal console).
ipython pretty printing tests should not rely on use_unicode=True.
s/render_latex/use_latex/ and allow to pick png or mathjax.
_print_latex_png should also use the _can_print_latex logic.
ipython: check for the Terminal case instead of the kernel.
init_printing: Fix pretty_print=False for ipython.

Allow for pretty_print=False to completely disable pretty printing.
Use formatter.for_type instead of formatter.for_type_by_name which
seems to be buggy. Fixes issue 3604 and also cleans up the code.
Don't start ipython with init_session().

By default, don't start ipython with init_session() launched from
standard python. Launching ipython can still be requested explicitly
with init_session(ipython=True).

The logic to try to load ipython if available else falls back to
standard python is moved to bin/isympy.

Fixes issue 3292.
Plain text pretty printing of containers.

Don't change the plaintext printing of containers unless they
contain only SymPy types.

Fixes issue 3513.
Clean up unused functions.
Deal with and comment on IPython API changes.
Merge pull request #2045 from jrioux/interactive

Interactive ipython printing.