CyberSource donations (back-end)

* Create Donation order item
* Add tax-deductible messaging to the confirmation email and receipt pages.
* Update receipt page to make the course URL optional

This PR does NOT implement the purchasing flow, so there is not (yet) a way for users to actually use this infrastructure :)

Here's what the receipt page looks like:

* With a specific course specified:
![course_donation](https://cloud.githubusercontent.com/assets/2948394/4505818/2d3c8db4-4afb-11e4-966c-367d4b01c86b.png)

* Without a specific course specified
![no_course_donation](https://cloud.githubusercontent.com/assets/2948394/4505821/2fc61992-4afb-11e4-9faa-1c0db8896301.png)

Here's what the confirmation email looks like:

* With a specific course specified: https://gist.github.com/wedaly/6e99c79a8f8e476fb2a6
* Without a specific course specified: https://gist.github.com/wedaly/bac9a4d1598d4cbb3f25

Reviewers: @dianakhuang @stephensanchez @srpearce 
FYI: @cdodge @jbau 

[ECOM-413](https://openedx.atlassian.net/browse/ECOM-413)
This is a pattern in shoppingcart that allows us to re-use templates for multiple order types.  Both the "email" and "receipt" templates will check each order item for any "extra information" (provided by instance methods), then add that information to the rendered template.