replace GARead with GAFlattenedAlignment

Major difference: a GARead may consist of multiple linear alignment 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.