Add required PrepTemplate columns for target gene studies

Adds a check for required columns on the target gene studies PrepTemplate.
Modifies the logic of the StudyPreprocessor so it creates a minimal QIIME-compliant mapping file for running split libraries.

@antgonza this should be the last PR for being able to run split libraries through Qiita,
I agree with @ElDeveloper here -- might as well mention it in case someone finds this "minimal mapping file" out of context and thinks it's for general purpose use.  (To that end, should the `Description` column actually include this information, as in "Qiita Minimal Mapping File" or "Qiita MMF" or something similar, rather than "NA"?)

In any case, I think describing the output format in the docstring is reasonable:
```code
def _get_qiime_minimal_mapping(prep_template, output_fp):
    """Generates a minimal QIIME-compliant mapping file for split libraries

       The columns of the generated file are, in order: SampleID,
       BarcodeSequence, LinkerPrimerSequence, Description.  All values
       are taken from the prep template except for Description, which
       always receives the value "NA"
```