Corrected return type

Be more specific so callers can access the persistent properties such as
ID
Bug fix and added field

Had the order of a many-many relationship backwards; and added a field
to keep track of Shopify Product ID on the album table.
Switch from MappedString to MappedUniqueId

because the latter supplies a default value of a random string.
Added convenience method

to carry forward the result of the previous operation
Added some tools to upload data to Shopify

haven't had time to test these yet
Conform to the PersistentX pattern

Broke up into Variant and PersistentVariant. I'm not in love with this
design... but I need to move forward.
Added two new methods and some comments.

Can now update a product and add a product variant.