Tools for generating and decoding error-correcting DNA barcodes