Various shop updates:

- Added support for external products
- Removed product meta
- Added `product_meta_fields`; i.e meta fields attached to product types, variants can describe those fields. Will be sued to build front end filters.