Fix read groups mapping and add Y as base type

The current readGroups map is broken in that individual workers develop their own recordGroupId -> ID mapping. which leads to incorrect aggregation.

Example:

Worker 1:
2014-01-14 17:29:13 INFO  QualByRG:33 - QUALBRG : RG : SRR062635 --> 0
2014-01-14 17:29:13 INFO  QualByRG:33 - QUALBRG : RG : SRR062634 --> 1
2014-01-14 17:29:13 INFO  QualByRG:33 - QUALBRG : RG : SRR062641 --> 2

Worker 2:

2014-01-14 17:29:13 INFO  QualByRG:33 - QUALBRG : RG : SRR062635 --> 0
2014-01-14 17:29:13 INFO  QualByRG:33 - QUALBRG : RG : SRR062641 --> 1
2014-01-14 17:29:14 INFO  QualByRG:33 - QUALBRG : RG : SRR062634 --> 2

There was a note that the .distinct().collect() operation was slow, but we saw that this finished in ~30secs (on HG00096, 16GB file, w/ 96 worker tasks) to generate a proper readGroup map

Also added Y as a base that appears in MD tags, examples: MD:Z:96Y3, MD:Z:27Y72,  MD:Z:25Y74