Refactoring vanilla 2 plugin

Separation vanilla 2 plugin in two parts:
* version specific code (configs)
* common code (provisioning, scaling, validation, etc...)

This patch needed to support various hadoop versions

Partially implements blueprint: add-vanilla-2-hadoop-2-4-0

Change-Id: I41678aed2bfb767c04af8bd52d28cd265fa125d7
Adds DataNode decommissioning support to HDP Plugin

This patch adds support for decommissioning HDFS datanodes
  during a de-scaling operation in Sahara.  The HDP
  plugin will now make requests to the Ambari server
  in the cluster to decommision any DataNodes deployed
  on the instances that are being shutdown.  This
  change is required to allow HDFS to gracefully
  handle the case where a set of DataNodes are
  being shutdown due to a scaling change.
This patch adds this support for HDP 2.0.6 only.
A new method has been added to the AmbariClient class
  for HDP 2.0.6 to implement the set of REST API
  calls to Ambari Server to start and monitor the
  process of decommissioning HDFS DataNodes on
  the machines that will be de-scaled.
The AmbariPlugin's implementation of decommission_nodes()
  has been modified to use the HDP 2.0.6 AmbariClient to
  handle the decommissioning (in the case of 2.0.6).
  The plugin will throw an exception if this call is
  attempted for an HDP 1.3.2 cluster.

Closes-Bug: #1335923

Change-Id: I49c8d1fef8a0916563c047b55d01054db2849a18
Updated from global requirements

Change-Id: Iab7a038e5789ce2bc1947a8e93d2a4a243263616
Merge "Adds DataNode decommissioning support to HDP Plugin"
Merge "Refactoring vanilla 2 plugin"
Changed HDP unit tests base class

Chnaged HDP unit tests base class to prevent logger messages like this:
No handlers could be found for logger "sahara.plugins.hdp.versions.
version_2_0_6.services"

Change-Id: I11f9dc82798ea4099459131c71af8fab7ba43905
Corrected a number of pep8 errors

 * E128 continuation line under-indented for visual indent
 * F402 import 'u' from line 23 shadowed by loop variable
 * H202 assertRaises Exception too broad
 * H305 imports not grouped correctly (re: stdlib, six: third-party)
 * H307 like imports should be grouped together (six and oslo.config.cfg from third-party are separated by whitespace)
 * H405 multi line docstring summary not separated with an empty line
 * H904 Wrap long lines in parentheses instead of a backslash

Change-Id: If2eb58b9a54198e7b9e81e213742f5759515ef8f
Fix tools/get_auth_token

The tool is handy when one needs to get tenant_id and token to work with
Sahara CLI.

Change-Id: Ibfb1f1e260f462b4d3229890ec8c7ed19dc88b7d
Merge "Changed HDP unit tests base class"
Imported Translations from Transifex

Change-Id: Ie8f8f181cac51a40037e6b02965ea6e9d0485b0e
Merge "Corrected a number of pep8 errors"
Added validation check for number of datanodes

Now if user would want to create a cluster with number of datanodes
less than dfs.replication, he will be warned and a validation error will be raised.

Change-Id: I396cf218001bde20f6f0b38e07784adf415548a5
Closes-bug: #1330739
Fix formatting in readme for vanilla configs

Change-Id: I6fa80f38328f77f3c0d8ecdd03f5da17b45fa297
Update docs to reflect the changes in security group section in horizon

Horizon has gone through multiple tab changes. This patch changes the
docs to reflect the recent changes in horizon related to security group
section.

Change-Id: I1ba56aacb03506c480a1ab24992a50c210f07899
Closes-Bug: #1225172
Merge "Fix tools/get_auth_token"
Updated from global requirements

Change-Id: I941c7a02d61cb36163fa476164dcfe6a123a4ab0
Merge "Added validation check for number of datanodes"
Merge "Fix formatting in readme for vanilla configs"
Imported Translations from Transifex

Change-Id: I6b63b7bf3143a1899dc62bc93dd6b52c1623f0c8
Merge "Update docs to reflect the changes in security group section in horizon"