Subtask of #1029. To support bulk import and other high-resource/sensitive operations, it makes sense to add to API keys expiration support as well as ability to attach extra "capabilities" data. Usecase: give user X one day to perform an import to project Y.
As API keys are user-bond, capabilities apparently should be a dictionary, to allow capabilities discrimination ("import" capability, but only for project Y).
Model change and expiration check are in ps/1125. UI to create such API keys needs consideration.
Reviewed by rcopeland. Merged to ps/1029. #1128 was created for UI to create special keys.