[ADAM-384] Adds import from FASTQ.

Resolves #384. Adds:

* Load from "single ended" FASTQ
* Load from interleaved FASTQ
* Load from non-interleaved paired end (two file) FASTQ

Load from single ended FASTQ and interleaved FASTQ are handled seamlessly by the ADAMContext.adamLoad method. Since paired ended (but non-interleaved) data requires two file paths, I haven't added it into adamLoad; thus, it sits on its own.

I wrote our own FASTQ input format instead of using the one in Hadoop-BAM; theirs is only compatible with Hadoop 1, performs unnecessary parsing, and doesn't seem to pick splits correctly anyways. The SingleFastqInputFormat is _almost_ a direct copy of the InterleavedFastqInputFormat, which we've tested pretty well on clusters.
Out of curiosity, what's the reasoning behind returning an ```Iterable[AlignmentRecord]``` rather than ```(AlignmentRecord, AlignmentRecord)```?