Initial payments abstraction

This is an initial commit for the payments abstraction. The paypal portion isn't implemented yet and a service layer needs to be written for the donations model. But our app "knows" what a payment is now.