Major algorithm bugfix - big increase in accuracy

We can now demultiplex perfectly, with 1 mismatch, barcodes even if they
are nested, so long as the remainder of read doesn't turn it into a
different barcode.