Standardizing error codes

Adds standardized error codes for the gateway to map to, with an example for Stripe.

@louiskearns @girasquid @mcgain @edward 
I think the `success ? nil` is redundant and can be dropped now, right?