Modify checkout controller to utilize the accepts multiple gift codes

-Modify overrides to render an equvilant partial.
-Change params from order[gift_code] to gift_code
Refactor apply_gift_codes to not use @order.gift_code

-Remove attr_accessor on order
Add more exhaustive specs for multiple gcs
Add index to code on spree gift cards.

We regularly use Spree::GiftCard.find_by(code: code) in our code, this
will help optimize this.
Minor spec tweaks.