Add Product::Identity

- Product#params calls #params on each attribute to cascade parametrization

Fix identity parameters to reflect current system
Extract Product::Identity#params method into module

- This code is used by (nearly) every resource
- Extract #params spec into shared examples
Make spec file naming consistent
Add Product::SalesChannel resource
Add Product::Description resource
Add Product::SalesChannelCollection
Add Product#brand_id
Add Product::FinancialDetails and Product::TaxCode
Add Product::StockDetails

- Create StockDetails class
- Integrate use of class into Product