Include new notification options in sample config

Some new configuration options were added with the change to add
notifications to Keystone, but these new options weren't added
to the sample config file.

This change adds the new options to the sample configuration
file along with the descriptions from
keystone.openstack.common.notifier.api.

Also, if the Keystone server uses the RPC options from
keystone/openstack/common/rpc/__init__.py if using the RPC
notification driver, so these options are also added to the
sample config file.

Having these options in the config file will make it easier for
administrators to update the configuration values.

DocImpact
Change-Id: I85f2450a6fb68d51453adbb5413ad48fe00ca17e
Rationalize list_user_projects and get_projects_for_user

These two functions have slightly different implementations and yet neither
takes into account group or inherited roles.  Rationalize these into a single
list_projects_for_user() that gets the correct list of project refs, allowing
for group and inherited roles.  The public API name, as referenced in the
policy file, remains as 'list_user_projects' to avoid a policy file change
at this late stage.

The most common use cases of the above is via the v2 API, when we need
to ensure only projects from the default domain are included.  Given that
this means we must inspect each project ref anyway, having a call that
returns a list of IDs will not be any more efficient than returning the
project refs and letting the caller extract the IDs.

Fixes bug #1201487

Change-Id: I614140639c71dae4dfe501d27eda65e41a78694d
Fix misused assertTrue in unit tests

Refactored unit tests to use assertEqual instead of assertTrue
where needed.

Fixes bug #1226374

Change-Id: Ie034536127b13653040e2beaa7247c2ecd13f4f0
Merge "Fix misused assertTrue in unit tests"
Merge "Include new notification options in sample config"