Make 'bam2adam' multi-threaded. Changed default block size to 128mb.

The commit adds two new options to 'bam2adam': -num_threads and -queue_size.
Each thread requested will write to a separate Parquet partition. Adding threads
will improve thoroughput to a point. However, each thread has its own ParquetWriter
which uses -parquet_block_size of memory for caching alone (not counting other
book-keeping overhead). Watch your memory use and GC to help with tuning. The
queue helps prevent the SAM/BAM file reader from blocking when the writers are
flushing blocks to disk.

As reads are processed, the number of reads and the size of the queue are printed.

The default block size has been reduce to 128mb. A larger block size can help
improve read performance at the cost of write performance.
Change bam2adam arguments from vals to vars.
Update ReferencePosition to handle null positions (unmapped reads)
New flagstat command. Upgrade to Parquet 1.2.5. Reference ID bugfix.

o Added a new flagstat command which write ADAM stats identically to samtools flagstat
o Upgraded to Parquet 1.2.5
o Fixed bug where the mate reference id was being written to the read reference id
o Created a new ADAMRecordField enum to help prevent typos in code with literal strings
o Added log4j.properties file to turn down logging in local mode
Typo
Updated README
Small changes to README
README cleanup
Update README