Tests failed because the test token expired.

Instead, generate the JWT for the tests specifically.  This means the
tests border a bit on tautological, but this is ok, since it's just a
helper wrapper around JWT, and the tests aren't intended to cover all of
PyJWT.
Add some failing validation tests

Refactor some other stuff a bit too.