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
Merge pull request #21 from artemshitov/validation

Barcode validation rewrite

Fixes #19
Closes #18