Rename keystone-all daemon to keystone

Keystone is a special snowflake and has an
oddly named binary (keystone-all), to make it
easier to understand just name that binary
'keystone' instead.

Fixes bug: 1237476

Change-Id: Iabc21a0f3ad866338b3d79a3079a43d8802c5d61
Refactor yum packages collection mechanism

* Get desired rpms from dependencies and from instances
  functions joined and unified.
* Requirement objects are used instead of package names.

Implements: blueprint yum-refactor-collecting-packages
Change-Id: Ieee913659924dbcfc830350fc7c190b5e53ff565
Fix the binary path for service openstack-nova-metadata-api

Change-Id: Ib47caf5f72e609de0ff64f4bce9a28b6d28a5d68
Extract merge process of the component options:

  * Move merge component's opts with distro, persona, etc to cfg.py
  * Implementing YamlMergeLoader
  * Add unit tests for correct updating cached and processed opts data
  * Add unit tests for YamlMergeLoader
  * Fix redefinition process in personas
  * Add documentation to YamlMergerLoader docstring

Change-Id: Ie491defca3df09d763081799d551cef8c2128701
Install packages from prefered repositories.

* Yyoom tries to install packages from preferred
  repositories and, if packages were not found,
  tries to install them from default ones.
* Preferred repositories are passed to yyoom from
  the dependency handler.

Change-Id: Iede5ad1c58c105c2627ad1012e959f0f93c4a447
Merge "Fix the binary path for service openstack-nova-metadata-api"
Merge "Rename keystone-all daemon to keystone"
Merge "Refactor yum packages collection mechanism"
Error during component install from tag fixed.

* Local repository tags are removed after required
  branch/tag is checked out, but not before.
* Additionally, we check that tag with the same commit
  reference as for the branch is not removed during tags
  cleanup to prevent broken local repository.

Closes-Bug: #1243154
Change-Id: I3f54f25ce5ed92b9f1cf227cc0d85657d4661692
Merge "Extract merge process of the component options:"
Merge "Install packages from prefered repositories."
Relabel the program name for keystone-all -> keystone

Make sure the subsystem 'all' maps to the right service name.

Fixes bug: 1244579

Change-Id: Ie14c5b00ce0e7aedacff8e322283bf256038771d
Make it easy to choose OpenStack versions.

Now it is possible to select components versions for the install
using yaml configurations files and specifying them in the
command line:
* Added new option (--origin) to specify components sources
  configuration file to be used.
* Implemented configuration load (repo, branch, tag) during
  component sources download.
* Remove url parsing logic from downloader and make it work
  with passed configuration.
* Removed components 'get_from' options from configurations.
* Added new sources configuration files for master, havana and
  havana-1.

Implements: blueprint flexible-versions
Change-Id: I35665a309bf8203f10588c01a336e2e62d8e4b5e