[api] product responses now contain master variant in its own key, separate from all other variants

This makes it easier to get to the master variant:

product.master - Definitely returns the master variant.

vs

product.variants[0] - This may not return the master variant!
Add ability to resort products ordering within a taxon

Fixes #4023