Adapt plugin API to resemble the other plugins

Now only the "provider_key" is required when you create the API
client object. Then in each call, the corresponding keys should be passed (user_key or appd_id/app_key).

Other changes:
- added test coverage for user_key authentication (invoke from line passing "user_key" as argument)
- documentation and examples