Added HDM

Alternative to ACT-R DM based on BEAGLE or DSHM.

1. HDM takes chunks that are sets of slot:value pairs, (e.g.,
"colour:yellow shape:square size:small") but not chunks without slots
(e.g., "yellow square small"). I plan to add the ability to handle
chunks without slots, but haven't yet.

2. A retrieval query to HDM must specify the value that is being
retrieved and must specify no more than one value (e.g., "colour:yellow
shape:? size:small"). The chunks "colour:yellow shape:square" and
"colour:yellow shape:? size:?" are not valid queries.

3. There's a bunch of junk code from the original DM that's still in
there, probably does nothing, and I'm afraid to delete it.

4. Reaction time is controlled with the "recall" function, which I
haven't modified. Currently vector cosine feeds right into the recall
function. The recall function may need to be tweaked to produce
sensible reaction times.
Added permutation method

Added a method to the HRR class that allows the user to permute the HRR.
syncing up HRR.py with master file

HRR.py now identical to master copy but with permute method.