Catch volume create exception

Catch InvalidInput exception from cinder when the parameters
are invalid such as an invalid size. Currently the exception
is not caught which results in a 400 Bad Request correctly being
returned, but also leaving a traceback in the logs. Correctly
catching the exception and explicitly raising an HTTPBadRequest
removes the production of the traceback

Fixes bug #1098048

Change-Id: Ia66e67f302cf20e96417f4ff3c1430b755a4a861
(cherry picked from commit 46ce2e345bce18c2e2f645bb90aea11ca53ba825)
set bdm['volume_id'] to None rather than delete it

bdm is a sqlalchemy model object, it doesn't make sense to delete
an attribute, so just set it to None

Fix bug 1166160

Change-Id: I41017af602f0c8369d442b4a6936e1a829d2f9a9
(cherry picked from commit 85c3c89f1d44ab4b26755958fec29161b0090ce0)
get_instance_security_groups() fails if no name on security group

The following patch fixes a bug in get_instance_security_groups() where
it tries to access security_groups['id'] but security_groups is a string.
This patch also removes some stubs that were not needed in a few unit test.

Fixes bug 1182738

Change-Id: Ia64db2e40d4a0e163344b4234112dbde71b1e132
(cherry picked from commit 5d40fb635b1abac3828245124e392a4c9af52f60)
Merge "Catch volume create exception" into stable/grizzly
Merge "get_instance_security_groups() fails if no name on security group" into stable/grizzly
Merge "set bdm['volume_id'] to None rather than delete it" into stable/grizzly