Modified Variant and Pileup structures

Modified these after conversation with Chris and Matt.

Philosophy:
* Pileup can express majority of variant information
* Can compress bases and quality scores down (e.g. at a single position, group evidence for all A's)
* Want to be able to easily query data, so use a flat data structure
* Pileup objects can then be reused later when doing population based analyses
* Eventual output is genotype