Store attributes in the data import, cli tools

There are now a series of command line tools, accessible through the top
level command `tt`.

- `tt list` - lists the files given (like ls).

- `tt rename` - renames the given folders to a run index, if they do
                not already have that form.

- `tt info` - displays information about the run associated with a given
              folder / data file

- `tt assimilate` - imports data from a folder to hdf5. If the folder
                    name is a run index, the parameters used for that
                    run will be stored as attributes on the hdf5.

A run index is a regular expression of form

    '.*(r1[0-9]_[0-9][0-9]_[0-9][0-9][a-z]).*

i.e. something like 'r13_01_15e'.

The run index is determined by looking inside the data files.  Dynamic
Studio outputs each run as a series of csv files. Each file contains
velocity data from a single pair of PIV images.

Each series of files follows the naming convention

    'stereo.${hash}.${number}.csv'

where ${hash} is the unique run hash and ${number} is the number of the
velocity data frame. The run hash is not found anywhere inside the files
and is found only in the filenames. This is stored in the hdf5
attributes as well.
refactor: inherit from base hdf5 caching class
remove cruft
key dependent loading
fix
continue with warning if no parameters entry
fix module / function clash
doc
only import new runs