Don't create gift cards until the order has been completed

Gift cards are being created after an order transitions to the confirm state, which causes issues if the order bounces back to an earlier state and the line item for the gift card is modified.

For instance, if a user adds 2 gift cards to their cart, reaches the confirm state, then goes back and removes one of the gift cards, they'll still have 2 valid gift cards associated with the line item.

```finalize!``` seems like a much better place for this, as we can be assured that the order has been completed.

I also bumped spree in the gemspec. I had issues bundling and it looks like the master branch of Spree is now up to rc3, which fixed the issue.