Remove invalid block_device_mapping volume_size of ''

Parsing block_device_mapping from strings sometimes results in
volume_size being set to '' or u''.  This causes a problem when
inserting into PostgreSQL, which insists that integer columns
actually contain integers.  Remove invalid device_size before
inserting or updating block_device_mapping database records.

(cherry picked from commit 188a94c898bcf07f9fe42ef2f3b5ee4aa8859b49)

Fixes: Bug #1171190
Change-Id: If9132a96604b5b0e3a6df96624e565e016d5c9a3
Merge branch 'stable/grizzly' of https://github.com/openstack/nova into grizzly/stable