Extract integrations into an offsite_payments gem

A shim is used to allow existing consumers of integrations to
(hopefully) see no issues.

Closes #1239.