Do not associate the user on cart add.

Instead this will happen after the transition to a paid state. Also
replaces a test that needed to be there for the controller.
Associate users on payment completion.
Rename apply_gift_code to apply_gift_codes
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.
Change the way errors are displayed

Apply gc errors to the order. Do not show success flashes.
Extract logic into a module
Refactor apply_gift_codes
Pass objects into the order mailer, not ids
Merge pull request #42 from Senjai/2-1-multiplgcs

Expand gift code application logic for multiple gift cards.
Merge pull request #39 from Senjai/org21

Dont associate a user to a gift card they're purchasing
Add a BaseCodeGenerator that people can override.

Allows to generate application specific/styled gift codes.
Merge pull request #44 from Senjai/2-1-gcgenerator

Add a Code class responsible for gift code generation. Make it easy to swap out with an app specific version.
Merge branch '2-1-lav' into 2-2-lav-experimental

Feature specs are still failing, largely due to overrides that dont
apply properly anymore or missing translations. The rest of the specs
pass.

One notable change is that the originator association on Adjustments
have been renamed to source.

Conflicts:
	Gemfile
	app/assets/javascripts/store/spree_gift_card.js
	app/assets/stylesheets/admin/spree_gift_card.css
	app/assets/stylesheets/store/spree_gift_card.css
	app/controllers/spree/checkout_controller_decorator.rb
	app/controllers/spree/orders_controller_decorator.rb
	app/controllers/spree/store_controller_decorator.rb
	app/models/spree/adjustment_decorator.rb
	app/models/spree/calculator/gift_card.rb
	app/models/spree/gift_card.rb
	spec/models/spree/calculator/gift_card_spec.rb
	spree_gift_card.gemspec
Grab the tax from the line items manually.
Fix checkout feature spec

Adjustments are displayed grouped by their label instead of an
adjustment by adjustment basis.
Fix purchase spec

This includes a fairly weak override, but there's not much of a better
way of targeting it. At this point all tests are passing.