Add BARCODES_DIR parameter to IlluminaBasecallsToFastq and IlluminaBasecallsToSam

When running ExtractIlluminaBarcodes it is possible to set OUTPUT_DIR parameter to the directory where the barcode files should be saved, but the IlluminaBasecallsToFastq and IlliminaBasecallsToSam are lacking a parameter that let us specify the same directory.

In our case, the BASECALLS_DIR directory is read-only and we are not allowed to write the barcode files there, so in order to be able to use IlluminaBasecallsToFastq and IlluminaBasecallsToSam they must be able to read barcode files from a different directory.

The proposed change adds BARCODES_DIR as a parameter to IlluminaBasecallsToFastq and IlluminaBasecallsToSam which is propagated down to IlluminaFileUtil.java which is the only place were this setting is actually used.

It's seems like a lot of modified code, but I didn't want to break backwards compatibility so the old constructors (without the barcodesDir parameter) are kept. If that is not necessary it is fine with me to simply keep the new constructors.

Hope this is useful for someone else as well.

/Nicklas