RF: cleanup hrf module with comments

We were duplicating finding of the numerical function, presumably
because I didn't properly understand what was going on.
NF: add SPM HRFs with tests

Make SPM-compatible HRF functions and test against results of SPM code
running in Octave.
TST: add tests against saved SPM basis functions

Use run from SPM code to test our SPM basis functions.
DOC: fill out docstrings and refactor SPM hrfs
BF: add hrfs mat file to data in setup.py

We weren't installing the hrfs.mat file.
RF: rename hrfs.mat file to spm_hrfs.mat
Merge pull request #298 from matthew-brett/hrfs-cleanup

MRG: clean HRF module and add SPM HRFs

Some small cleanup to hrf module.

This pull request adds the SPM HRF, the SPM temporal derivative, and the SPM spatial derivative, along with a function to replicate spm_hrf.m in the SPM distribution.

Add SPM HRF, with temporal derivative and spatial derivative. Check
against saved output from SPM code.
BF: zeros for zeros_like for numpy compatibility

Older Numpies don't allow dtype= keyword to ``zeros_like``; use
``zeros`` instead.
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.