veyron2/security: Introduce a PublicKey type.

This commit introduces a "PublicKey" interface and changes all client
code to use that interface instead of using *ecdsa.PublicKey.

The motivation for this:
(1) Allow us to switch more easily to different public key implementations
    in the future (if desired)
(2) Possibly allow us to implement key-rotation (where the PublicKey interface
    will be backed by two implementations, one each for the key being
    rotated out and rotated in)
(3) Allow metadata methods to be attached to the key (like String)

In order to reduce the amount of unnecessary code, I removed
all code that referes to the RPC protocol version 1.

Change-Id: I993be7912b569dc02dfedef13fdfa78ca2a1f91d
18 files changed
tree: e108016f1969ecfdaa9579af8966196efda5668a
  1. examples/
  2. lib/
  3. profiles/
  4. runtimes/
  5. security/
  6. services/
  7. tools/