Add Global Iris RealAuth gateway and RealMPI integration

This is a fairly large patch, but it is fully tested, and was implemented test driven from the beginning. (88% and 95% code coverage for the two main modules).

It also includes docs, including a (stripped down) version of the code you need to bind it all together (which I developed hand-in-hand with the billing code.

In order to implement this, I added a few completely backwards compatible conveniences to other parts of the code base:

* CreditCard now accepts `cardholder_name` as an alternative to `first_name` and `last_name`. (I've never seen a credit card form that accepts first/last name, actually). Tested and documented.

* billing.forms.common.CreditCardFormBase - a base class that has some conveniences for creating credit card forms. Only used by billing.forms.global_iris_forms.CreditCardForm currently. Tested and documented with docstrings. The Global Iris docs also have an example of it being used.

* billing.tests.utils.BetterXMLCompareMixin - provides "assertXMLEqual" which is like Django's, but much more helpful at locating the differences between some chunks of XML.