Add global Authenticate() function.

Also finishes work started in last commit.
diff --git a/provider_test.go b/provider_test.go
index 8c37dae..2936526 100644
--- a/provider_test.go
+++ b/provider_test.go
@@ -13,13 +13,13 @@
 		return
 	}
 
-	err = c.RegisterProvider("aProvider", &Provider{})
+	err = c.RegisterProvider("aProvider", Provider{})
 	if err != ErrConfiguration {
 		t.Error("Unexpected error/nil when registering a provider w/out an auth endpoint\n  %s", err)
 		return
 	}
 
-	_ = c.RegisterProvider("aProvider", &Provider{AuthEndpoint: "http://localhost/auth"})
+	_ = c.RegisterProvider("aProvider", Provider{AuthEndpoint: "http://localhost/auth"})
 	_, err = c.ProviderByName("aProvider")
 	if err != nil {
 		t.Error(err)