replace GARead with GAFlattenedAlignment

Major difference: a GARead may consist of multiple linear alignments but a GAFlattenedAlignment describes at most one linear alignment and is equivalent to a SAM line. Also extend to allow >2 reads per fragment.

This PR is the opposite of #38. It stuffs fragment, read and alignment attributes in one object.

PS: I don't like name "GAFlattenedAlignment". Open to better ones.