Introduce V2 API for PreKey updates and requests.

1) A /v2/keys controller.

2) Separate wire protocol PreKey POJOs from database PreKey
   objects.

3) Separate wire protocol PreKey submission and response POJOs.

4) Introduce a new update/response JSON format for /v2/keys.
Renamed 'device key' to 'signed prekey'.
Allow device to query their currently stored signed prekey.
Break FederationController into V1 and V2
Bumping version to 0.18

// FREEBIE