Make Fernet compatible with the written spec and the Go version

The token is currently written as 0x80 || Base64(TS || IV || Cipher || HMAC), with the HMAC payload being (TS || IV || Cipher) while the Go version and the spec written at github.com/kr/fernet-spec are using Base64(0x80 || TS || IV || Cipher || HMAC) with the Fernet version also being used in the HMAC payload.

This patch changes the generator and verifier so they use the spec, but it will break old tokens.