This makes it easier to spot what are the differences and similarities
between active and non-active, which in turn, it'll help remove the N+1
the "active" branch causes.
Make it look `#distributed_producer_properties` with which seems to
share a lot.
By not having to treat producer properties differently we can filter and
fetch all properties from DB without having to process it with Ruby and
with a single query.
There's no point on fetching the same records again by the resulting ids
of the previous query (nasty way of removing duplicates), when that
query has a DISTINCT.
This totally removes the following N+1 query from the GET /shops request
```sql
SELECT "spree_properties".* FROM "spree_properties"
INNER JOIN "spree_product_properties"
ON "spree_product_properties"."property_id" = "spree_properties"."id"
INNER JOIN "spree_products"
ON "spree_products"."id" = "spree_product_properties"."product_id"
INNER JOIN "enterprises"
ON "enterprises"."id" = "spree_products"."supplier_id"
WHERE "spree_products"."supplier_id" = 24;
```
The product properties of the corresponding enterprises are now loaded
in a single query fired from the controller.