Don't transition to delivery step if shipments are blank or if shipments DO exist, but there are no shipping rates for them
Devaguify description in checkout_controller_with_views spec
Stop an order from being able to transition from cart without any line items

Fixes #3312
[api] move 'apply a coupon code to an order' test into correct context
[api] A line item must now be created when attempting to transition out of cart step
Rename payment method factory that's using BogusSimple gateway from 'authorize_net_payment_method' to 'bogus_simple_payment_method' to reduce confusion in what the factory actually does
Use Order#errors to convey useful error messages when an order fails to transition, displaying those errors appropriately in the checkout
[api] OrdersController tests must have a line item created before they can transition to address
Correct checkout_spec and state_machine_spec to account for ensure_available_shipping_rates method behaviour