[ADAM-327] Adding gene, transcript, and exon models.

A few major changes in these commits: 

* Upgrading to bdg-formats 0.3.1
* This version of bdg-formats changes the Pileup schema, so we fix all the errors that this introduces -- and we _eliminate_ the Pileup aggregation code
* This version of bdg-formats also changes the Feature schema, so we've updated the feature parsing code to create these new features correctly
* The FeatureHierarchy classes have been rewritten as wrappers around Feature
* Added Gene, Transcript, Exon, and UTR case classes to represent gene models, and added code for assembling them from 'flat' Features.




I'd consider killing it for the moment, unless we want to put in a full-blown model and use it all over.