Bad code landed, causing ubuntu to be always landed.

Change-Id: Ia77073563fde70140169dbbc5a7448aad54295e2
Consolidate common OS installation into a script:

Move common openstack service installation operations
into a new script `os-svc-install`, which simplifies
the elements for openstack services.

Change-Id: Ied8ac3278e7fe8af76e24748ec4e598a84afa03c
Give stack user passwordless sudo:

This is very helpful when performing automation.

Additionally, removed addition of stack user to admin group,
since that group does not exist on all systems, and
passwordless sudo eliminates the need it was addressing.

Change-Id: I727bd51acb920c6c2e66247069998b6ee4267895
Change run-parts usage to be compatible with Fedora.

Change-Id: I7a4e1252b0ced940cd4d8fa2fbd096c016933954
Move the dpkg specific stuff to a dpkg element rather than being hardcoded.

This includes the install-packages implementation for dpkg, apt http proxy
config, daemon blocking and unblocking.

Change-Id: I8f159021d2b223d7003cec067de3aa605ad06974
Work in progress run-parts replacement.

Change-Id: Ie95b3ed2145594b5f6436454a6756012fc1c4729
Make populate_libs() more generic.

It can handle "path to path" output of ldd, such as
    /a/b/c.so => /x/y/z.so (0x123456789)

Change-Id: I68d1096694835818c9129212a02796e1ce1c181d
Merge "Change run-parts usage to be compatible with Fedora."
Merge "Move the dpkg specific stuff to a dpkg element rather than being hardcoded."
Use dib-run-parts for running scripts in target

Also modified dib-run-parts to apply a more workable solution for
filtering out unwanted files such as editor backups and VCS.

The script is installed in its own element, depended on by the OS
specific ubuntu element. This is  because the ubuntu element (and
later other OS's) are responsible for populating the root filesystem.
If we try to install this in base, the root filesystem will look to
be populated already and we will skip automatically choosing ubuntu.

Change-Id: I017646748c1a8360299106289b57d976d45875a8
Add dib-run-parts install command to sudoers.d

Change-Id: I8943d18efa4077da87cb822255f70c6541f32f30
New element that uses a fedora cloud image as the base.

Change-Id: I7d83bb2b359e7a8c3858eca04c96e35cf4e1fe9e
Merge "Give stack user passwordless sudo:"
Merge "Make populate_libs() more generic."
Fedora needs to depend on dib-run-parts too.

Change-Id: I56611d1c2bf13c8d24a87869bf8334d8e4992f6f
first-boot.d scripts log to a file:

Log first-boot.d script output to a file, to ease troubleshooting,
since the first-boot scripts are removed from the system after
running, even in case of failure.

Change-Id: I07d5c782dd918a804e054bf08efce89ed9442e0c
Merge "first-boot.d scripts log to a file:"
Fix the sudo rules for unpacking fedora raw images.

Change-Id: Icba75e0380f63a8f6059d1be4c63ac823b9f473d
Prevent silent failure of element-info:

bin/element-info accesses it's library via a symlink:
  bin/diskimage_builder -> diskimage_builder

This causes the relative path in elements.py to be
incorrect.

element-info silently fails in this situation, because
it allows missing 'element-deps' files, so that these files
may be optional.

This change causes element-info to fail explicitly if $ELEMENTS_DIR
is not set, as it now is when called by diskimage-create, and
adds tests reflecting this behavior.

Change-Id: Iec50f934feb13dfed64d69297a3af6ac9f842677
Merge "Prevent silent failure of element-info:"