Validate MIME type and cypher type during order creation

Change-Id: I75549934d0f0d3b411e388ad4321b62253d76f3d
Fix rpm dependencies.

Change-Id: I5d6198ada09333891b1c3a94c4a8caebb014973d
Clean list paging offset and limit values properly

The previous logic depended on the truth value of the arguments,
which resulted in calling int() on any object evaluating to True.
For instance, passing in a string that wasn't a number would result
in a ValueError.

Change-Id: I871a353b47a3c6c2dcd7d65ee365657435acf606
Automate rpm build.

Change-Id: Id3c4fe7590fa8c8dff827fa783880acb4beeba70
Package dependencies in RPMs using fpm.

Change-Id: Ia44ed880d4aba43d85c38d7fa7314cc9b01e3815
Restrict use of 'plain_text' to 'text/plain' MIME

When creating a secret with a non 'text/plain' MIME type with
supplied 'plain_text', a ValueError would be thrown during the
encryption step. This resulted in a 500 HTTP status. Now when
a create secret request is sent with a 'plain_text' field
provided and a non 'text/plain' MIME type, a 400 HTTP status
is returned.

Fixes: bug #1200659
Change-Id: I9df8ec52c96c6cbe63c1f1af85e9a60ef507ff69
Fixing NoneType issue with limit and offset

Fixes issue where the server returns 500 when the limit and/or offset in
paging are set to None.
- Adding tests for cleaning the paging parameters.

Fixes: bug #1202857
Change-Id: I769d44530be96ef18728b431acd1e198e8a84219
Stop barbican-api during rpm removal.

Change-Id: If5e8e3081935284419f28a21d79920e4c31084b1
Package PyCrypto 2.6 into an rpm using fpm.

The available python-crypto package in CentOS 6.4 (version 2.0.1)
is too old.  Specifically the Crypto.Random package is unavaliable.

Change-Id: Ifa000d1fb633de5b69194e557978587280e47b02
Merge "Package PyCrypto 2.6 into an rpm using fpm."
Fix PyCrypto rpm package name built by fpm.

fpm package naming convention does not match existing
CentOS package.

Change-Id: If0b3afc22bed3aa7c7b0a771a2565d6fbffc2b0d
Merge "Fix PyCrypto rpm package name built by fpm."
Add New Relic application monitoring

This addition allows the New Relic Python agent to monitor
Barbican if New Relic is installed. If New Relic isn't installed,
it isn't loaded and no monitoring takes place.

Change-Id: I10093a93961260ef2ec310b6660caf24ea16ee56
Mime Type Revamp

Implements: blueprint mime-type-revamp
Change-Id: I43f8ec16a3b2839174abb0989c950a6bb8a5b685
Change the location of the New Relic config file

The New Relic Chef cookbook only works when the
.ini file is in this location.

Change-Id: I450a55dba87c845b11ffef2b8b20b05d94dd0c4b
Added hacking target to tox.

Change-Id: I9d3cfb9b0ec6511837ac506483e90afa5579ac29
p11 plugin work

Implementing: blueprint crypto-implement-hsm-plugin
Many TODOs. This is not a functional plugin and is committed only to
provide visibility into in progress code to other developers

Change-Id: I9f4d4b5a02e94f39fe3153a85f3bdf446ebbbd7b
First attempt to integrate Paul's HSM plugin into Barbican.

Initial mods to change the plugin interface a little bit, and to introduce
a new 'kek_data' table to house key encryption key (KEK) metadata used for
encryption/decryption. This new table will house per-tenant metadata.

Change-Id: I87cd0d4516fa19209be94cacdb79ac4b7eb740df
Implements: blueprint crypto-implement-hsm-plugin
Update P11 plugin to function &  match new plugin contract.

add plugin to entry_points and more cleanup

Change-Id: Ie3c742e3071912f3a22d7460cfb79b1a383efb6f
Implementing: blueprint crypto-implement-hsm-plugin
P11CryptoPlugin is now functional

Still needed: tests (next up)

Change-Id: Ib4ed643178a8e1d4b72c5a588ed8b8b90b0805f4
Implements: blueprint crypto-implement-hsm-plugin