Fix issue where calling @order.payment? may result in an ':payment is an invalid name' error from state_machine

This backports has_checkout_step? from Spree 1.3 to Spree 1.2.

Fixes #2910