Merge branch 'master' of https://github.com/ga4gh/ReadTaskTeam
Merge branch 'master' of https://github.com/ga4gh/ReadTaskTeam
First take on vcf-style variants
Add variant search methods
Add missing import and bracket
Move calls above variants to fix build
message -> record

proto conversion fail
Merge branch 'master' of https://github.com/ga4gh/schemas
Merge branch 'master' of https://github.com/ga4gh/schemas
add GAReferenceSequenceSet

This is to strengthen reference sequence issues.  Important semantic changes are:
  - require some way to obtain the sequence, either by URI, accession or literal sequence.  Though not required by BAM this is needed by CRAM and good practice in an internet API world.
  - share reference genomes (reference sequence sets) by id across all readgroups using them, and require readgroupSets to map to the same referenceSequenceSet for all readgroups within them. 

I introduce a GAReferenceSequenceSet record.  Something like GRCh38 will be a referenceSequenceSet.
Now a readgroup refers to the referenceSequenceSet it aligns to by id, not the array of sequences.
We want ids because we will use the same referenceSequenceSet across very many samples.
We require that all readgroups in a readgroupSet align to the same referenceSequenceSet, so that combining data across them makes sense.
I also made much clearer in comments the semantics of where literal sequences are obtained from, and of derived sequences and sequence sets:
 - for derived sequences I introduced the sourceDivergence, and I described derived sequenceSets as ones that either contain (some) derived sequences or contain additional sequences beyond those in the accession from which they are derived.
clarification in comments
minor updates

make referenceSequenceSet optional in ReadGroup for if there are no alignments
allow ncbi_taxon_id in ReferenceSequence to override the value in ReferenceSequenceSet
other comment changes
1->0 based
Make referenceBases non-optional
add md5checksum to GAReferenceSequence
camels > underscores
camels > underscores
Typo fix
make GAReferenceSequence::sequence required

We want the API to get the sequence, not the user.
And this simplifies a lot of the logic in the API.
The one thing I am not sure about is whether this means that in implementation when you get the ReferenceSequenceSet then you get all the literal reference sequences at the same time.  This would be ~3Gb for a human genome, so heavy.  More sophisticated implementations would get sequences only on demand, and cache.  I don't understand enough about the methods to know whether that is possible
with this schema.

Also rename uri to sourceURI.
callset -> callsample, add variantset

Also replaced contig with referenceSequenceName