IATS: Complete rewrite using first class API

This commit adds support for the `purchase` and `refund` operations
on the iATS Payments gateway. This replaces the existing iATS
implementation (http://cl.ly/V8DE) and supersedes another, existing,
pull request (http://cl.ly/V88q).

Closes #1133.