Added graph dir, for storing graphs.
Encapsulates probe functionality. Fixes #2.

* the Probe class in probe.py now records the history of a run.

* each probe can store data from multiple runs

* currently, probes are created be calling probe_by_connection
on the ensemble that we want to probe. internally, the probe creates
an ArrayNode() and connects that to the ensemble passed into
probe_by_connection. The probe gets its data by calling "array" on
that internal node.

* probes have their own plot function, the cleanup network plot
function works by simply calling the plot function of each of its
probes in succession
Took the relation vectors out of the cleaup memory.

* They're now in their own dictionary, relation_type_vectors, which
must be passed around. this dictionary is indexed by the symbols
used in symbol_definitions.py
Made naming of idvecs and sp's more consistent.

* fixed indexing scheme for idvecs and sp's. They are always ordered
dicts, indexed by WordNet keys, right up until something absolutely
needs a list (like in gpu_cleanup or cleanup).

*fixed plots so they work for both gpu and non-gpu cleanup