Add IPP gateway

@duff @girasquid can I get a review? I worked this over pretty extensively from #1462.
@InfraRuby do you know if IPP supports CVV warnings/codes?