Update task set generation for clusters

Task set generation for clusters is broken in that
rtspin is given a CPU# and not a cluster number.
This patch updates the task set generation script
to operate on clusters, not CPUs.
Parse: Output CSVs with numeric sort on column 1.

This patch updates parse/dir_map.py to output CSV
files sorted, numerically, by the first column.
Lexical sort is used if the first col is not a number.
Parse: Revise algo. used to compute durations.

This patch improves the robustness of the TimeTracker class
that is used to match records from the same job. The original
code was very vulnerable to messages recorded out of order,
leading to inaccurate data.

This patch does slow down record parsing, but accurate results
are more important than fast results.