Fix issue with passing lists in filters

The Cinder db code already allows searching for a value in a list,
for example, id in ['id1', 'id2', 'id3']. The problem is when we
get the value at the API it comes as a string (e.g.
"['id1', 'id2', 'id3']", and therefore the filter fails. This was
already fixed for metadata filters, so just apply it to all filters.

We do a try/except because if it really is a string, then the
literal_eval will fail because we don't pass double quotes, such as
"'string'".  The current code therefore will now cover lists and
fall back to the original behavior for strings.

Change-Id: Idfd8298401a330bb99ddcd130268fabb6ef9d162
Closes-Bug: 1403875
Fix broken StorPool driver

The newly added StorPool driver has a number of issues;
It imports it's own 3'rd party libs which are not in the
requirements file, it declares conf options but never registers
them, and as a result of these two things it break the ability
to generate a configuration file.

This patch adds a try_import around the import storpool calls
like we do in other drivers, and it registers the config options
properly.

We also move the api setting out of init and into the check_setup
so the service doesn't crash if somebody tries to load the driver
without the required storpool modules.

Closes-Bug: 1405023
Closes-Bug: 1405022
Closes-Bug: 1405016
Closes-Bug: 1403532

Change-Id: I61340ab7c5abcdc21dbb12cf0693da036e69e90c
Merge "Fix broken StorPool driver"
Merge "Fix issue with passing lists in filters"