Adds general specification class
Adds product class
Adds invoice specification class
Adds company information class
Adds customer information class
Fixed conflicting method names
Updated views with new code structure with same results as before, great refactoring