Support for Elliptic Curve signatures (ES256 / ES384 / ES512)

This PR adds support for the ES256, ES384, and ES512 JWT signature standards by utilizing the pure-Python `ecdsa` library.  The signing and verification steps have been cross-checked against a popular Node.js JWT implementation (https://github.com/auth0/node-jsonwebtoken).
I had to increase the expiration time in order to get the tests to finish before the expiration time would breach. On my local system, about 8 seconds was sufficient, but I wanted to ensure that less powerful systems would be able to also pass the tests.