Hopefully done with all TODO's
issue 3434: warnings from matplotlib when starting isympy
the issue was that matplotlib.pyplot was being imported before
pylab was initialized. initializing pylab after the import of
matplotlib.pyplot caused a warning to be printed to the console.
some plotting methods don't work in py3k without this. objects are making
their way into sympy's cache.
hack to get the pyplot fix to work with matplotlib/py3k
unit tests to ensure that interval objects in the plotting module are hashable
this came up in issue 3434
add comment and tests, remove/reformat some old comments
amend test for case where matplotlib is not installed
Make isympy importable in Python 3

That way, if someone runs python3 bin/isympy, they will get the "this is the
Python 2 version of SymPy" error message instead of a SyntaxError.
Write up stuff on special function simplification
Merge pull request #2122 from smichr/replace

sympify replace input
refactor the Miller-Rabin test code

also use pow(b, 2, n) rather than b**2 % n which is a bit more efficient
Fix srepr(Function) for non-undefined Functions

Now srepr(sin(x)) gives sin(Symbol('x')) instead of
Function('sin')(Symbol('x')).
use ZZ(base) in isprime
Merge pull request #2119 from smichr/isprime

refactor the Miller-Rabin test code
3821: simplify trig to exp and vice versa

recognizing I*tan(x) and tanh(x) will take a little more work
Start section of new tutorial on advanced expression manipulation

This adds a graphviz dependency for building the Sphinx docs.
Small grammar fix
Add subtraction example
polys: Added mulpow(A, B, exp) to MonomialOps
factor exptrigsimp out of simplify