Use KeyProvider interface for public key access.

Allows caller to use information in the JWS header to select an
appropriate public key.
Add standard header fields
Rename jws31_test.go to jws28_test.go.

This file tests against draft 28, not draft 31.
Verify is now VerifyAndDeocde and returns payload.