Add 'set_image_location' policy option

Gives operators the option to prevent references to 'external' image data.

Addresses bug 1153613.

Change-Id: I68aac9039eed0f70ed3b893f5c51838a70d290ae
remove deprecated assert_unicode sqlalchemy attribute

Removing this enables use with sqlalchemy 0.8.0
The deprecation is described upstream at:
http://docs.sqlalchemy.org/en/latest/changelog/changelog_08.html#change-ad44af79c886d1bb283042deb64f9cbe

Change-Id: Ia34b38245c6abe1ddb4162eee89459a7130deacb
Make is_public an argument rather than a filter.

There is disagreement between the v1 api and v2 api about what an
'is_public' filter ought to mean. Version 1 uses 'is_public'
to filter whether or not image.is_public == True or False. Version 2
uses 'visibility' for this purpose. But in addition, it is theoretically
possible that 'is_public' is a valid property filter in v2.

With this change, v1 can pass is_public in as an argument to
image_get_all. V2 will continue to pass is_public through filters.

fixes bug: 1157988
fixes bug: 1154760

Change-Id: I716cb8b4f207f8526125ed360f5a24a6630c1e67
Merge "Add 'set_image_location' policy option"
Merge "remove deprecated assert_unicode sqlalchemy attribute"
Merge "Make is_public an argument rather than a filter."