sort_spikes more robust.

Has to possible sorting algorithms (kmeans clustering, or sorting by
time of first spike). Now uses them in appropriate situations.
Added function make_hrr_noise_from_string.

Creates a function which accepts an input vector, creates an HRR vector
including that input vector, and then attempts to extract that vector
using deconvolution. Used for gathering statistics on extraction from
general HRR expressions. The HRR expression that is used is specified by
a string argument. Decently expressive string parsing system.

Also added oodles of docstrings.
Added shovel.py.

If shovel is installed (pip install shovel), then functions from this
package can be easily accessed from the command line by including a task
for them in shovel.py. shovel.py currently contains a task for
make_hrr_noise_from_string.