feature flag: Policy feature enabled config group

A new configuration group ``[policy_feature_enabled]`` has been added to
Patrole which will be responsible for collecting the feature flags to be
used for newly introduced policies or policies that were changed in a
backwards-incompatible way.

    * create_port_fixed_ips_ip_address_policy (Neutron)
    * update_port_fixed_ips_ip_address_policy (Neutron)
    * limits_extension_used_limits_policy (Cinder)
    * volume_extension_volume_actions_attach_policy (Cinder)
    * volume_extension_volume_actions_reserve_policy (Cinder)
    * volume_extension_volume_actions_unreserve_policy (Cinder)

These feature flags will be supported until Pike release cycle
is EOL.

The motivation behind these feature flags is [0] which adds
Pike/Queens gating to Patrole. However, in Queens, Neutron
and Cinder renamed or removed a few policies in a backwards-
incompatible way. These policies can be reviewed here: [1].

This PS requires another PS [2] in devstack's lib/tempest
because Patrole, being a branchless project and hosting the
Patrole devstack plugin itself, must fall back to Tempest's
devstack script to list out the backwards-incompatible
policies in Pike.

A documentation update will also come in a follow up with
information on these feature flags.

[0] I76c4a9b8737bf94f230ab141def652b054120f3b
[1] e.g. http://logs.openstack.org/51/547851/4/check/patrole-member-pike/139c534/job-output.txt.gz#_2018-03-22_21_46_08_392229
[2] I00bdeff9474c54d38b6d6844a041b305bec01ad8

Change-Id: Ia0d9847908a8e723446c16465d68cd7f622c04cc
diff --git a/patrole_tempest_plugin/plugin.py b/patrole_tempest_plugin/plugin.py
index a214892..8af6a69 100644
--- a/patrole_tempest_plugin/plugin.py
+++ b/patrole_tempest_plugin/plugin.py
@@ -21,7 +21,7 @@
 from tempest import config
 from tempest.test_discover import plugins
 
-from patrole_tempest_plugin import config as project_config
+from patrole_tempest_plugin import config as pconfig
 
 RBACLOG = logging.getLogger('rbac_reporting')
 
@@ -64,16 +64,23 @@
     def register_opts(self, conf):
         config.register_opt_group(
             conf,
-            project_config.patrole_group,
-            project_config.PatroleGroup)
+            pconfig.patrole_group,
+            pconfig.PatroleGroup)
         config.register_opt_group(
             conf,
-            project_config.patrole_log_group,
-            project_config.PatroleLogGroup)
+            pconfig.patrole_log_group,
+            pconfig.PatroleLogGroup)
+        config.register_opt_group(
+            conf,
+            pconfig.policy_feature_enabled,
+            pconfig.PolicyFeatureEnabledGroup)
 
         if conf.patrole_log.enable_reporting:
             self._configure_per_test_logging(conf)
 
     def get_opt_lists(self):
-        return [(project_config.patrole_group.name,
-                 project_config.PatroleGroup)]
+        return [
+            (pconfig.patrole_group.name, pconfig.PatroleGroup),
+            (pconfig.policy_feature_enabled.name,
+                pconfig.PolicyFeatureEnabledGroup)
+        ]