Delaying coalesce of variants

This speeds up VCF output by performing some of the conversion operations in parallel before the coalesce
would `.coalesce(1, shuffle = true)` accomplish the same for you? From [`.coalesce` docs](https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/RDD.scala#L316):

```
   * However, if you're doing a drastic coalesce, e.g. to numPartitions = 1,
   * this may result in your computation taking place on fewer nodes than
   * you like (e.g. one node in the case of numPartitions = 1). To avoid this,
   * you can pass shuffle = true. This will add a shuffle step, but means the
   * current upstream partitions will be executed in parallel (per whatever
   * the current partitioning is).
```