First (rough) implementation of a cloud3->cloud4 upgrade

This introduces five new mkcloud commands for testing the different steps of
the cloud3 to cloud4 upgrade as outlined in the manual:

"prepare_cloud4upgrade":
    Sets up the Cloud 4 repos on the admin server and
    installs the latest suse-cloud-upgrade code from a git checkout.

"cloud4upgrade_1st":
    Runs suse_cloud_upgrade upgrade for the first time (the pre step)

"cloud4upgrade_2nd":
    Updates packages on the admin node and runs suse_cloud_upgrade upgrade for
    the second time (post step)

"cloud4upgrade_clients":
    Deploys the updater barclamp on all client nodes to install the cloud 4
    packages

"cloud4upgrade_reboot_and_redeploy_clients":
    Final step. Calls suse_cloud_upgrade reboot-nodes and redeploys all
    barclamps with exisiting proposals on the clients

This currently needs a mkcloud deployed Cloud3 with "cloudsource=GM3" and
"TESTHEAD=1" to have all maintenance updates installed.
Less version-dependent upgrade process
Stopping chef-client on admin node to prevent zypper locks

updates

chef-client

checks for crowbar

test

Improving upgrade process
Install barclamps not present on older Cloud

qa_crowbarsetup: chef exit codes and check if zypper is running

This patch adds the following helper functions:

* `wait_if_running` checks if there is a process running and waits until the
process exits, this is useful if you want to use zypper and want to check
that there is no other zypper process running in the server.
* `die` prints a message to stderr and exit with the error code passed as argument.
mkcloud: stronger check for concurrent uses

the outgoing code cried wolf when i had mkcloud open
in a text editor, as well as when i tried to run mkcloud
with script -c "... mkcloud ...".
Update path to tempest_cleanup.sh
mkcloud: Simplify list of nodes generation

This patch replaces a for-loop with just using 'seq' to generate the
list of nodes that are going to cleaned.
qa_crowbarsetup: replace 'perl alarm' with 'timeout'

This patch replaces perl code in a string with timeout command to kill
ssh in case takes longer than 10 secs to finish.
Update following changes in the ceph automation test suite

There's a new clientnode field in the yaml file to update. We can just
use the same node as the radosgw node; this is enough for us.
qa_crowbarsetup: enable sysrq before tempest

This shall help debugging strange hangups during tempest runs.
Add develcloud5 support
mkcloud: use LSB scripts

this works on both SLE-11 with sysvinit and openSUSE-13.1 with systemd
mkcloud: add shutdowncloud target

This allows for a cleaner shutdown of a virtual cloud
e.g. to prepare for a host reboot
Assign more memory to the controller node
Display a summary of the results at the end of the tests

Parsing the current line is not fun.
Source the os-type script in order to have TE_ environment defined
script to launch a new VM for the cleanvm job
qa_tripleo.sh: Adjustments for newer tripleo-ci
qa_tripleo.sh: Fix testenv jsonfile creation

Nodes are automatically added by create-nodes script. No need to do it
manually.
Save log from tempest as separate artifact
qa_tripleo.sh: Move tripleo-ci git clone

Use /opt/stack/new as tripleo-ci git clone destination. That's what
other git clones use as well.