Don't instantiate provider in provider_class

It was possible for payment_class to be called, which instantiated a new
`PayPal::SDK::Merchant::API` object before paypal was configured by the
code in .provider. This caused the error:

  No such file or directory - config/paypal.yml

This changes provider_class to just return the class itself. It also
overrides `.provides?` to be more explicit about the behaviour.

Fixes #15
Fixes #26
Merge remote-tracking branch 'upstream/2-1-stable' into improve_rails_4_compatibility