Added initial JSON Web Key (JWK) support

- Builder pattern, e.g.:
    SymmetricKey("keyData")
     .setAlgorithm(Algorithm.A256KW)
     .setOperations(Operations.ENCRYPT, Operations.DECRYPT)
     .toJson();
- JSON Web Algorithms (JWA) value types
- Still needs lots of work:
  - EllipticCurveKeys, RSAKeys, etc.
  - Convenience generators for most common types
  - Load/Save keys to files etc.
  - Existing token structures to be replaced by JWT