Add Dogtag crypto plugin.

This patch adds an initial version of the Dogtag plugin
that implements the decrypt(), encrypt() and generate()
functions.  In this version, we will create and initialize
an NSS database on the server to do crypto operations
within the Dogtag DRM python client.  This allows us to
decrypt() and encrypt() secrets without passing in wrapping
keys.

When the barbican-client and the Barbican server API have
been changed to pass through the wrapping keys, this plugin
will need to enhanced to make the relevant DRM client calls.

This plugin has been tested by running the barbican server
within a virtual environment.  There are several steps
needed to get things configured, which are detailed in the
blueprint.

Added unit tests.  These unit tests will be skipped if the
dogtag dependencies are not present to import.

Change-Id: Ib53bf3df5a65af7ac602ec7f7895e9c723c36c06
Implements: blueprint dogtag-plugin
Merge "Add Dogtag crypto plugin."