Interface changes.

is_implementation to work against objects
Attributes defined in interface to become mandatory
Addition of OAuth interface definition
Make github into an IOAuthProvider.
Add failing OAuth test.
Add auto generated urls based on oauth providers. Redirect if missing.
Remove print statements
Change location of keys and secrets for oauth.
Only use repo scope with github.
Add comment as to why we do the cacerts copy.
Merge pull request #48 from pretenders/story/48/alex

Make oauth a provider type