Switch the mailers to be invoked using ids, not model objects. This makes it easier to support asynchronous mail jobs, as only simple ids need to be persisted.

Fixes #2808
Better factory integration for extensions.

Related to #2780
Update extension README, detailing new factories integration.

Related to #2780
Find visible select2-input element within promotion_adjustments_spec
Select correct element in order_details_spec to alter the quantity of

This test was working for SQLite, but in MySQL+PostgreSQL the order was different, causing the test to break.
Target correct element in stock_managment_spec

This test worked in SQLite+MySQL, but not in PostgreSQL. This commit fixes that.
Fix incorrect syntax in products/_thumbnails for @product.variant_images
Fix issue where two 'Clothing' taxons were being created in taxons_spec