Replace startswith by more precise store matching

Currently a source is considered valid if it only starts with a specific set
of word. For example swift is a valid location scheme, so is swiftpe or
swiftopenstack with the current implementation. This commit compare the scheme
of the location - all of it - to a given set of supported schemes

Change-Id: Ie827c3c3f36fbf958a1270039cab28d4c5fc4fe1
Closes-Bug: #1257496
Fix simple-db image filtering on extra properties

This fixes a bug in simple DB that causes filtering of images based on
extra-properties to fail. The current code works only when an image has no
extra-properties or exactly one. The current test suite doesn't include a test
that tries to filter images based on more than one extra-property.

Also, added both functional and unit tests to test image list with filters
using more than one extra-property.

Fixes bug: 1259227
Change-Id: I4c0d294585235dacbf154bf0df5d1e7c4a172cdd
Merge "Replace startswith by more precise store matching"
Merge "Fix simple-db image filtering on extra properties"