Added endpoint types for intialization of different IdentityClients

There is a bug https://bugs.launchpad.net/tempest/+bug/1473396 which
describes that IdentityClient always uses admin enpoint but this is
not correct for non-admin api/identity tests. The latter need to use
public endpoint_type instead.

Added one more identity client ('identity_public_client') to two
existent. Added to tempest.conf 3 enpoint_types to [identity] group
instead of old one 'endpoint_type' for intialization of different
IdentityClients:

* CONF.identity.v3_endpoint_type (because Keystone api v3 can be
configured independently from v2);
* CONF.identity.v2_public_endpoint_type (for Keystone v2 public api);
* CONF.identity.v2_admin_endpoint_type (for Keystone v2 admin api).

Thus, non-admin tests in api/identity/v2 directory would use
'identity_public_client'; admin tests in api/identity/admin would use
'identity_client' and v3 tests in api/identity/v3 - identity_v3_client.

Change-Id: Icd5d175f8de6ccdaa6c718f6d4f68677cd4d7008
Closes-Bug: #1473396
diff --git a/tempest/config.py b/tempest/config.py
index 48417c3..0262d1b 100644
--- a/tempest/config.py
+++ b/tempest/config.py
@@ -112,11 +112,30 @@
                     "services' region name unless they are set explicitly. "
                     "If no such region is found in the service catalog, the "
                     "first found one is used."),
-    cfg.StrOpt('endpoint_type',
+    cfg.StrOpt('v2_admin_endpoint_type',
+               default='adminURL',
+               choices=['public', 'admin', 'internal',
+                        'publicURL', 'adminURL', 'internalURL'],
+               help="The admin endpoint type to use for OpenStack Identity "
+                    "(Keystone) API v2",
+               deprecated_opts=[cfg.DeprecatedOpt('endpoint_type',
+                                                  group='identity')]),
+    cfg.StrOpt('v2_public_endpoint_type',
                default='publicURL',
                choices=['public', 'admin', 'internal',
                         'publicURL', 'adminURL', 'internalURL'],
-               help="The endpoint type to use for the identity service."),
+               help="The public endpoint type to use for OpenStack Identity "
+                    "(Keystone) API v2",
+               deprecated_opts=[cfg.DeprecatedOpt('endpoint_type',
+                                                  group='identity')]),
+    cfg.StrOpt('v3_endpoint_type',
+               default='adminURL',
+               choices=['public', 'admin', 'internal',
+                        'publicURL', 'adminURL', 'internalURL'],
+               help="The endpoint type to use for OpenStack Identity "
+                    "(Keystone) API v3",
+               deprecated_opts=[cfg.DeprecatedOpt('endpoint_type',
+                                                  group='identity')]),
     cfg.StrOpt('username',
                help="Username to use for Nova API requests."),
     cfg.StrOpt('tenant_name',