Report cluster results with the rest of the lane summary information.
this involved breaking names like "s_1" into their sample and lane identifiers
and then exclusively using the lane identifiers.
One complexity is that I still had to treat the lane IDs as keys into
a dictionary instead of offsets into a list, because the lanes
were labeled in the range 1..8, but python's list indexes would have
been 0..7.
I also changed the report code to return a string instead of printing
stuff to stdout, to make it easier for me to integrate it into code
to email the summary report.