Gateway options refactored

I made some amendments to this in Spree master. Bringing those in to our branch.