CRM-15714 CiviContribute convert validateCreditCard to validatePaymentInstrument

The validateCreditCard function is too restrictive for both SWIPE and DirectDebit payment processors. Convert those calls to a new validatePaymentInstrument that only invokes validateCreditCard for credit card payment processors, and also allows SWIPE processors to override it.
Merge pull request #4766 from adixon/CRM-15714

CRM-15714 CiviContribute convert validateCreditCard to validatePaymentInstrument