Make key access consistently symbols
Dont blow existing code using Order#build_from_api

Avoid errors after d496f6e08147742c3f8b2dfdea6d97e3f44b97e6. The
adjustments hash was accessed using strings as keys. eg. a["amount"]
Move create_tax_charge callback to after transitioning from address, rather than before delivery

Fixes #4280
Check for delivery step before attempting to use delivery? helper in Order#has_available_payment

If the state machine is redefined to not have this step, then the helper will not be there and the state machine gem will error out

     Failure/Error: order.next!
     IndexError:
       :delivery is an invalid name
Stub has_available_payment method to stop has_step? callbacks