Sync From OSLO

blueprint: key-distribution-server
Change-Id: I424dbd6e8a535279498589444b976ea332e09c64
Introduce basic Pecan/WSME framework for KDS

So far there is simply a CLI application called kds-api that launches
the server using the reference wsgi server and a test just to
make sure things are wired in correctly.

blueprint: key-distribution-server
Change-Id: I17f1943eb6cd71f6059606a1a099f5761896b131
Introduce database functionality into KDS

Add database setup and initial testing into Key Distribution Server.
Also adds a migration script.

blueprint: key-distribution-server
Change-Id: I22e914ef1ca6ec8217d131c073261b309d9f637e
Add cryptographic key storage

Adds a layer called Storage on top of the DB. The DB is a simple store
retrieve interface and things going through Storage are correctly
encrypted and stored to the database.

Adds the first real routes to the KDS to allow storing keys.

SecImpact
blueprint: key-distribution-server
Change-Id: Id8acb8fae0f0908a2bade4f227cd1a181b0075de
Add ticket handling to KDS

Adds creation of tickets to transmit communication keys between peers.

SecImpact
blueprint: key-distribution-server
Change-Id: I4dbd23adb0bdd9011eb9a0b45e30dd862d390473
Add group support to KDS

Allow creating groups, requesting tickets for group keys and for
retrieving group keys.

SecImpact
blueprint: key-distribution-server
Change-Id: I92aefd2ac1d9c2fa65efa13384a9390cc107b048