Addressed a few issues in #49

Some of the following changes are related to how VCFs are made. In the current practice, we call variants by jointly considering all samples at the same time. Broad is advocating single-sample calling, but this pipeline requires gVCF (different from the 1000g VCFs) and still merges all samples at the same time in the end. VariantSets can hardly be split or merged without hurting self-consistency and accuracy. In particular, we are not calling each sample independently and then iteratively merging the single-sample calls to the an existing VCF.

Summary of changes:

1. Removed GAVariantSet::datasetId. A VariantSet is frequently made from two or more datasets defined in reads.avdl. For example, we may make a call set for 1000g and PGP. In this case, datasetId cannot be set.

2. Removed GACall::callSampleId and GACall::callSampleName. Accordingly, clarify that the ordering of GAVariant::calls[] is defined by SearchVariantsResponse::callSampleId[], or by GAVariantSet::callSampleId[]. Sparse VCFs, which are widely discouraged, can still be represented by using missing values.

3. Moved GAVariant::created and GACallSample::created to GAVariantSet. The whole GAVariantSet is made at the same time.

4. Added GAVariantSet::referenceSequenceSetId, as #66 is to be merged soon.

5. Added GACallSample::readGroupIds[]. This links a callSample to the read data.
Now `GAReferenceSet` and `referenceSetId`.