Refactor the "create" Order action

Previously, most of the logic that was required to create orders was contained
in the orders controller, which was causing the action to become large and
unmaintainable. The logic has been extracted from the action into separate
classes.

https://trello.com/c/dgrFMz6o