Use Authorize.Net's XML API

Work in progress. Supercedes #1219.

TODO:

- [x] Figure out mapping for `x_solution_id`.
- [x] Figure out how to pass currency code (`x_currency_code`).
- [x] Match semantics of old `Response#authorization`.
- [x] Match semantics of old `Response#params` as closely as possible.
- [x] Replace `AuthorizeNetGateway` with `AuthorizeNetXmlGateway`.
- [x] Flatten unit and remote tests.
Just to confirm: we’re removing this test because of https://github.com/Shopify/active_merchant/pull/1297/files#diff-48e328d270b74715da6db2ccd6d03ac7L14 ?