Provide better exception messages for required settings in each of the payment processors.
Fix stripe payment rounding bug

Stripe payment backend is rounding the total before multiplying by 100,
which results in an incorrect charge.

This commit fixes the bug, as well as adding a test to illustrate the
problem.

This commit also makes a number of other changes so that we can run
this type of test:

- Adds mock and stripe as dependencies for testing (edits to travis.yml)
- Adds STRIPE_API_KEY to local_settings.py.template so travis tests
  will work properly

Also documents how to run Cartridge unit tests in the readme.
Pass amount to Stripe as integer intead of string.

The Stripe API docs indicate that the "amount" passed to a Stripe
charge object should be an int, not a string.

See https://stripe.com/docs/api?lang=python#create_charge
Don't put payment specific settings in local_settings template.
Move dummy stripe key setting into its test.
Automated merge with ssh://bitbucket.org/stephenmcd/cartridge
Fix AttributeError with empty cart in Django 1.5

Django 1.5 looks for a pk in BaseInlineFormSet's __init__, which it couldn't find on EmptyCart. The fix adds the attribute with value None.
Merge
Only run stripe tests if its used, since it breaks Python 2.5 support (stripe package doesn't work in 2.5)
Fix class decorator for stripe tests for Python 2.5
Merge branch 'master' of github.com:stephenmcd/cartridge