Payola::Subscription

This is more of a request for comment than a request to merge code.  I'm sure this is not ready to go yet, but I'd like to make sure it's headed in the right direction.  So far `Payola::Subscription` is a lot of duplicate code from `Payola::Sale`.  This could probably be refactored, but for now I figured it was better to have duplicate code than to have the wrong abstraction.