Default is_public to false

Sets is_public=false in the database model, adds is_public querystring
to API and policy check for it. Will need corresponding client change.

Does not include an alembic migration because altering columns is
apparently difficult, and removing/adding does more damage than good.
New objects should have is_public set to False by the db model.

Relies on changes in https://review.openstack.org/#/c/109151/ (mainly
for unit test refactoring).

Change-Id: I390806b7e2d09f18ab3c496178406e1a3fc8d899
Closes-Bug: #1331243
Merge "Default is_public to false"