Adding IDH plugin basic implementation

Functionality:

* install and provision Intel Hadoop Manager and Intel Hadoop
* configure Intel Hadoop to use Cinder volumes as HDFS backend
* manual cluster scaling support
* Swift integration
* cluster configs - the same configs as in Vanilla Hadoop
* configs validation - the same as in Vanilla plugin

This is initial version. It doesn't cover bugs filed here:
https://bugs.launchpad.net/savanna/+bugs?field.searchtext=%7BIDH%5D

Co-Authored-By: Andrew Lazarev <alazarev@mirantis.com>

Implements blueprint idh-savanna-plugin

Change-Id: I70363869b61d73222d247b566d499c2fd6fb9201
Add Oozie java action workflows

Change-Id: I6559f75deb7d238c8ab4e2df2f0483f100143b93
Implements: blueprint edp-oozie-java-action
Merge "Add Oozie java action workflows"
Remove unused node_group parameter in get_config_value

Change-Id: I3e48e344b079c8eef81a18176147b8aec3c9f3b1
Extract common part of instances.py and instances_heat.py

Fixes bug: #1259170

Change-Id: I9bcc578a77baff88611e5eb488a69a50fa6bd932
Fixed cluster template with no nodegroups creation

Fixes: bug #1265609

Change-Id: I25dafd0439ab743cc5bb6f0c36d212c7cc3d1c83
Merge "Adding IDH plugin basic implementation"
Merge "Remove unused node_group parameter in get_config_value"
Added cache for image_username

This change removes roundtrip to nova for each remote() call.

It is also important for long provision operations because auth
token could expire during cluster provisioning timeframe.

Introduced nodegroup.image_username field with information about
username used.

Change-Id: I00f318a9bf34b221c8ccf7a4f22e9ed3fd91e806
[Vanilla] Added unit test on get_hadoop_ssh_keys method

Change-Id: Ib096982f4e154d5ddb5b7bb19a177b023967f7e8
Update sample savanna config

* remove unused parameter

Change-Id: Ic9fb034d6132f26b2be5982efbdad48798fedb94
Merge "Extract common part of instances.py and instances_heat.py"
Add util method to get port from address

HDP and Vanilla plugins have the same functionality to parse port number
from address so general util method has been impelemented covered with tests

Change-Id: I07e33acc206a247d397edd32b4487232da2e4b3c
Changed HDP plugin to use ports from config

To form cluster info URIs for HDP plugin use proper port from
configurations. Covered with unit tests.

Change-Id: I4692b06694295f4103a93dbb0087375e2499c664
Closes-Bug: #1204076
Merge "Add util method to get port from address"
Merge "Update sample savanna config"
Merge "[Vanilla] Added unit test on get_hadoop_ssh_keys method"
Merge "Fixed cluster template with no nodegroups creation"
Merge "Added cache for image_username"
Changed Vanilla plugin to use ports from config

To form cluster info URIs for Vanilla plugin use proper port from
configurations. Covered with unit tests.

Closes-Bug: #1264117

Change-Id: I11d908ce31c63e8fbdd918f448b586f76e99f7da