Authorize.Net XML gateway

The new authorizenet xml gateway.
This is troublesome, as it means we'll need to encode the amount in the authorization so that we can continue refunding when the amount of the original transaction is not known.