Merge remote-tracking branch 'choose_remote_name/nFastq' into importing_paired_end
TESTING - commented out file crawling adjustments made by N.K. since
they only took in one direction of read files.  Defaulted back to the
original code to grab file names.
TESTING - Had to comment out more of N.K.'s code regarding file
handling. Added debug printouts to see what's happening within a method.
Changed "laneNum" variable to "fileNum" to better reflect what it is
actually counting.
Testing & Debug
TESTING & DEBUG
Added multidimensional array to start handling forward and reverse reads
for each pair of files.  Array is set [2][variable][5] where [2] acts as
forward and reverse identifiers, [variable] will be the total number of
paired files and will change depending on the experiment, so it is set
by a variable that determines the number, and [5] is the maximum number
of elements that can be in a delimited file name for further downstream
processing.  The file name length will have to be noted in final
documentation.
Modified filenameField array into multidimensional array

Created for loops that control reading in file names and parsing them to
correct multidimensional array indices

OUTPUT at this point is as expected.  Only tested with one key file and
first data file since downstream controls have to be manually adjusted
for now.

TODO adjust control loop so it doesn't iterate unnecessarily through the
same files over and over
Corrected logic in loop that controls getting and parsing all the files.
 Tightened up the code, removed some debugging statements, commented
loops and variables
Made further adjustments to controller loops.

Made the ParseBarcodeReader variable an array to hold both directional
read key files.

Placed the temp key / enzyme control loop where it would work through
the file loop.
Continued breaking up the countTags() method to take a pair of files and
simultaneously work through them.

Removed an top-level controlling loop for the read directions.  Instead
just hard-coded in 0 (forward) and 1 (reverse) since this convention
will be followed throughout all multidimensional arrays.

Using arrays for enzyme names and key files

Found out that the taxaNames array and loops that pull data into it
are not used anywhere downstream from its declaration and population.  I
assume that it was once intended to do something but was abandoned and
never removed.  For the time being I have just commented it out. 
Running the program with this variable commented out does not seem to
impact the final output.
Roughed out the paired reading and output to tags.  Some reporting
variables may need to be revamped or adjusted, noted in comments.
Notes in comments about things to do
Swapped the use of fileNum as file number indicator to loop controller
variable
changed goodBarcodedReads to +2 increment when both forward and reverse
reads are good quality
added an array sort to the first file name array since subsequent
processes expect an ordered list
trying to force freeing of memory at the end of the major processing
loop in countTags() by setting the major memory users to null.  The
behavior before doing this was an out of memory error is being thrown
upon second looping but then the program continues just fine.  I don't
think there is an issue with memory, just that the memory isn't being
recognized as released before the variables (theTC) are destroyed /
created.
Added some forward and reverse read reporting variables and outputs to
the screen in countTags()

corrected variable spelling, added final output to screen report of new
variables goodBarcodedForwardReads, goodBarcodedReverseReads
Overloaded parseReadIntoTagAndTaxa by adding a variable lengthToKeep
that is passed as an int of the desired length and compared to the
sequence after quality checks, but before removing secondary cut
sites/barcodes and adding the poly-A tail
Adjusted method call in the ParseBarcodeReader to reflect overloaded
method change