[Promotion] Basic gift card promotion support

Three screenshots:
![screenshot](https://cloud.githubusercontent.com/assets/67402/4232259/8bc80b00-399a-11e4-82dd-6125c66038f7.png)
![screenshot](https://cloud.githubusercontent.com/assets/67402/4232260/8be369d6-399a-11e4-92ad-814dc36d3298.png)
![screenshot](https://cloud.githubusercontent.com/assets/67402/4233963/d57524e2-39b1-11e4-9102-c0351ab5c534.png)

TODO:
- [x] add migration script,
- [x] add section in user account about used gift cards/coupons(?),
- [x] extend fixtures
@stloyd I think the amount here is wrong when multiple giftcard is used, because order total is not updated when adding adjustment. For example, if the order total is 100, `coupon1` has 50 and `coupon2` has 60, it will add two adjustment with amount -50 and -60. 

Is this correct or am I missing something?