Move order population responsibility out of OrdersController

The OrderPopulator class now contains the logic for checking the stock of a variant and then adding it to the order if it's valid

This is intended as a fix for #2341