[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.




Perhaps that's because it's getting all the other coords using the ADAM coord system as well.  I am guessing the transcript extraction might still work if you change it to have the +1, as long as you don't mix GTF features with non-GTF features, and you always use the `GTFFeature` wrapper.