Tcga metadata

As part of a refactor of the TCGA bam importer, pull out metadata functions into separate module.
I believe that an SRA Experiment which has no library strategy is an invalid document.  Instead of handling a missing library strategy, we should reject the whole document.  I understand in practice we probably need to process the tcga data anyway, but I also see think CGHub should receive feedback when we receive an invalid document, if ever.