Fix purchase requirements

purchase previously required a billing address for all transactions, but
we shouldn't require one if a token is passed rather then a credit card.

this adds a token? function for a quick check to see if
credit_card_or_token meets the token requirements or not.