[avocado-9] Refactor pipeline structure to separate variant discovery and genotyping

Sizable refactor for #9. This splits the genotyping pipeline we've been using into two phases (variant discovery and genotyping) which is consistent with the GATK. This will allow us a sizable amount of flexibility in the future (e.g., _N + 1_ genotyping, mixing discovery methods between samples, using different discovery methods with different variant calling methods, etc.). This makes #33 moot, resolves the need for reads to have a defined MD tag, and opens a number of new downstream issues (which I will create shortly).

For the moment, I've torn the local assembler out. This will return soon; I just pulled it out so that this PR was _slightly_ less massive and cumbersome. This PR allows us to divorce local assembly from the actual genotyping process, which I think is preferable in the long run.