Fix #194: Replace verify function with Verifier classes.

Add the RemoteVerifier class to replace the verify function. Instead of
just calling verify to trigger verification, you must first create an
instance of the RemoteVerifier. Verification now returns a 
VerificationResult instance.

Update the authentication backend to use the RemoteVerifier and adds a
method for subclasses to override if they want to use a custom verifier
instead.