Improve heat environment manager

- For underlay SSH, use "fixed" heat stack addresses
  instead of "floating". "fixed" addresses must be
  accessible from Jenkins slave node.
- do not include fuel-devops engine libraries in case if
  ENV_MANAGER is not 'devops', to avoid configuring database.
- use LAB_PARAM_DEFAULTS to specify heat template "environment"
  file with default parameters
- use required OS_USER_DOMAIN_NAME to initialize heat client.
- When heat stack is created, two parameters are passed into the
  .hot template from heat manager:

    'mcp_version': settings.MCP_VERSION
    'env_name': settings.ENV_NAME

Related-task: #PROD-27687
Change-Id: I8efcdacf6f8115e5c01c144207a2cf8a4ff9fb48
diff --git a/tcp_tests/fixtures/underlay_fixtures.py b/tcp_tests/fixtures/underlay_fixtures.py
index 1770c62..a8856d6 100644
--- a/tcp_tests/fixtures/underlay_fixtures.py
+++ b/tcp_tests/fixtures/underlay_fixtures.py
@@ -18,9 +18,6 @@
 from tcp_tests.helpers import utils
 from tcp_tests import logger
 from tcp_tests import settings
-from tcp_tests.managers import envmanager_devops
-from tcp_tests.managers import envmanager_empty
-from tcp_tests.managers import envmanager_heat
 from tcp_tests.managers import underlay_ssh_manager
 
 LOG = logger.logger
@@ -60,18 +57,21 @@
         # No environment manager is used.
         # 'config' should contain config.underlay.ssh settings
         # 'config' should contain config.underlay.current_snapshot setting
+        from tcp_tests.managers import envmanager_empty
         env = envmanager_empty.EnvironmentManagerEmpty(config=config)
 
     elif env_manager == 'devops':
         # fuel-devops environment manager is used.
         # config.underlay.ssh settings can be empty or witn SSH to existing env
         # config.underlay.current_snapshot
+        from tcp_tests.managers import envmanager_devops
         env = envmanager_devops.EnvironmentManager(config=config)
 
     elif env_manager == 'heat':
         # heat environment manager is used.
         # config.underlay.ssh settings can be empty or witn SSH to existing env
         # config.underlay.current_snapshot
+        from tcp_tests.managers import envmanager_heat
         env = envmanager_heat.EnvironmentManagerHeat(config=config)
     else:
         raise Exception("Unknown hardware manager: '{}'".format(env_manager))