RF: remove sympy fixes, depend on sympy 0.7.0

Drop compatibility layer for sympy < 0.7.0
RF: doctest uses Term rather than symbol

Latest sympy lambdify needs the symbol on the left and the right hand
side of a lambdified function to be the same.  Hence we need 't' to be
the term 't' not any sympy symbol 't'.  At the moment we're using our
own replacement for lambdify, but this change allows us to use the stock
lambdify as of 0.7.3
RF: raise TypeError for removed 'each_char` kwarg

Sympy deprecated 'each_char' kwarg to symbols sometime >= 0.7.0, and
removed for sympy > 0.7.3, but without raising an error.  For safety, we
raise an error.
RF: use explicit sort key for sympy sorting

Sympy > 0.7.3 raises an error attempting to sort sympy expressions
without a key, but provides ``default_sort_key`` for backwards
compatibility.
BF: change in sympy sorting changes doctest output

We've changed from using ``sort`` on sympy expressions, to using
``sort(expr, key=sympy.default_sort_key)``, in order to support sympy
trunk (> 0.7.3).  Unfortunately, these produce different results when
sorting dummy variables, as in:

In [38]: a = sympy.Symbol('a')

In [39]: b = sympy.Dummy('b')

In [40]: sorted([a, b])
Out[40]: [a, _b]

In [41]: sorted([a, b], key=sympy.default_sort_key)
Out[41]: [_b, a]

I can't think of a way round this, so just change the failing doctest to
use the new order.
Merge pull request #300 from matthew-brett/depend-sympy-0.7.0

MRG: depend on sympy 0.7.0; fix for sympy trunk

Remove sympy 0.6.x compabibility fixes.

Fix for changes in default sympy sorting in current trunk.