Barcode validation rewrite

Adds domestic barcodes validation
Fixes a bug where it raised an exception if a no digits barcode was given
Also, more modular design now

Fixes #19 
Closes #18