Refactor some file writing and reading logic:

- read “OQ” attr from structured SAMRecord field

  converting into and out of BAM using ADAM was dropping the “OQ”
  attr; HTSJDK puts it in its own field but ADAM was looking for it
  in the catch-all attributes field.

- style nits / long lines

- ADAMMain formatting

- apply predicate shorthand

- move adamBamLoad into ADAMContext

  I'm a little torn about this one, since I see the motivation for
  having AlignmentRecordContext own logic for things we know will be
  AlignmentRecords, but adamBamLoad also is called from and calls into
  (via implicit conversion from SparkContext back into ADAMContext)
  other things in ADAMContext that made it feel like a more natural
  fit inside of ADAMContext.

- factor out parquet-saving config

- factor multi-format saving out of Transform

- add helper for saving only aligned records

  a.k.a. BAM or ADAM records; no FASTQs
Merge pull request #450 from ryan-williams/saving

Refactor some file writing and reading logic
quote bash vars in scripts/jenkins-test
CYA: pre-remove output files in jenkins-test

while debugging jenkins-test runs, I copied some of the files it
generates into my local ADAM_HOME; these were in turn getting copied
into the tmp dir created by jenkins-test, and causing various commands
to fail when they realized the path they were trying to output to
already exists. This seems like an unnecessary failure mode for the
jenkins-test script to be vulnerable to (namely, the existence in local
ADAM_HOME of files (untracked by git) with the same names as arbitrary
paths that jenkins-test expects to write to), especially since these
particular files are involved in tests but don’t actually live in the
git repo.
Project only the sequence when kmer/qmer counting
Merge pull request #460 from massie/kmer-projection

Project only the sequence when kmer/qmer counting
Merge pull request #459 from ryan-williams/jenkins

a few tweaks to scripts/jenkins-test
Some cleanups of Predicate logic

- simplify PredicateUtils wrapper

- wrap some long lines

- wrapper for FieldCondition[Boolean] creation

- AlignmentRecordCondition creation conv. wrappers

- add supplementaryAlignment to AlignmentRecordField
Merge pull request #457 from ryan-williams/predicates

A few random Predicate-related cleanups
Add paired-fastq writing functionality

- converting read to FASTQ optionally adds suffix

- opt. verification step when reading paired-FASTQs

- add method for outputting paired-FASTQ files

- add persistence to paired FASTQ writing

- round-trip test of paired-FASTQ reading & writing

- add bam2fastq command for outputting paired-fastqs

- rename bam2fastq to adam2fastq

- use ValidationStringency in Adam2Fastq

- adam2fastq asserts equal #s of first-/second-reads
Merge pull request #438 from ryan-williams/paired-fastq

Add ability to save paired-FASTQ files
Remove unused val from Reads2Ref
Merge pull request #458 from massie/reads2ref

Remove unused val from Reads2Ref
helper to get SAM output as a string
add adam `view` command

similar to `samtools view`
add -c, -o flags, plus opt. printing SAM to stdout
add "disjunction" -g / -G options to `adam view`

-f and -F do positive and negative conjunctions, but in at least one
situation I've wanted to do an "or": give me all reads in this file
where the read is unmapped *or* the mate is unmapped.
expose non-file-saving bits of `adam transform`
expose non-file-saving bits of `adam view`
Add a test for new `view` command

- includes a SAM file with one read for each of the 700 possible
  flag-field values allowed by HTSJDK’s and ADAM’s SAM parsing code
  paths.
- bonus: includes `make-flag-values-sam.py` script used to generate the
  aforementioned SAM file.
- concern: ViewSuite test takes about 30s to run on my laptop; how much
  do we care about test-running latency? Is there an obviously quicker
  way to run a similar test to what I have here?