support for 4 major product barcodes (UPC/EAN)and base class for other types
initial branch commit