Cleaning up comments, removing debugging and general cleanup of code

Added ArrayList of hashFileNames to keep track of concatenated names
Added combineHashOUtputFiles method to produce one combined file from
the outputs of the earlier HashMap outputs.
Changed formatting of sequence and IDs going into first HashMap
Correcting logic in combineHashOutputFiles where HashMap<String,
ArrayList<String>> would take, store and update input as needed
Modifed combineHashOutputFiles PrintWriter to handle passing of
ArrayList and formatting output
Changed some logic and order of operations in combineHashOutputFiles to
increase efficiency and overall speed.  Biggest change was to add the
first file directly to the HashMap without doing any comparison checks
since they were done when the file was originally generated.

Added some print to screen
reporter lines to better understand where bottlenecks might be.
debug
Added a reporter on the number of lines added to a file when the pairs
of sequences output is generated for each set of raw files
Debugging
Removed debugging comments

Added reportTime() to help track time it takes to complete tasks
with a more meaningful hours / minutes / seconds output

Added reportTime() calls to help track how long tasks are taking to
complete.

Added stripRedundant() to format output to a smaller footprint by
stripping out redundant ID information (in testing this reduced the
output file size by ~35%)
testing
testing
methods added, tested, then removed.
Added new constructor to include paddedSequence so that a String could
be added and called upon


forceParseReadIntoTagAndTaxa:  modified to call on
forceFindBestBarcode, check if the enzyme cut site is within one base of
the detected barcode, assign a String (paddedSequence) directly to hap
bypassing the original conversion to bit, ReadBarcodeResult rbr calls on
new constructor (long[], String, byte, barcode) - this bypasses
problems with accepting Ns in the sequence but not being able to
encode the Ns for long[] storage.

forceFindBestBarcode: uses String sequence and String barcodes to find
the first occurence of a likely barcode within the first 16 bases(based
on global "chunksize")

checkForCutSite: method added to handle looking for the presence of an
enzyme cut site remnant within 1 base of the barcode
modify2KeyFile: modifies the reverse read key file by reading in the
original barcodes and either applying a substitution and / or deletion
method to generate potential barcodes that might be encountered from the
orignial.

copyOriginalKeyFile: copies a key file so that the original data isn't
accidentally written to or over

deletion: produces a variation of the orignial barcode based on deleting
bases (up to 2)

substitution: produces a variation of the original barcode by swapping
a base at every position of the barcode with the 3 other base options or
an N

stitch (modification):  Began modifying method to generate new output

A lot of testing and debugging that will need to be pulled out at a
later time.
updated import statement to java.util.*
countTags: changed HashMap "pairCount" responsible for storing sequence
and ID info into TreeMap
Changed class variable "barcodePairs" from HashMap to TreeMap
logIds: changed to accept only one String value and process it