Anvil uninstaller was implemented

Change-Id: I10d8463883a40e8ce99123a6dc758ab30e87d58b
Always delete current branch before branch creation in git

If repository must be checked out to current branch, it should
be removed before recreating.

Change-Id: I69a8c51ff7fca79a79a17c6c9420a4cb417061b7
Use the yum helper to only remove packages that exist.

The yum helper connects to the underlying rpm database and
it can be referenced to see if packages should be installed
or removed before the commands to do that are executed.

Change-Id: If5c0d0a7268af4e6b3c40dd98ec348430b340375
Move multipip and associated to tools + docs.

Use the readme.rst for multipip for other tools and
place multipip and the new tools under tools since they
are anvil tools and should be under that directory.

Adjust the code to look under that directory when finding
py2rpm and multipip.

Remove some tools which are no longer needed/used/make sense.

Change-Id: If3a0d627c42ef0374f764ad9e276424b43f29a66
Create Anvil directories during bootstrap

Create /usr/share/anvil and /etc/anvil. Change their
ownership to user running sudo if sudo is used.

These directories will be used immediately on prepare.

Change-Id: I2ef4b5246b0d73ee01268f73ba24789f4e5b10e8
Fixes: bug #1186438
Don't execute py2rpm with no names.

An error can be triggered by downloading anvil and then
just trying to uninstall (before preparing and installing).

Change-Id: I1e7fa76b55ec23851374966d4b49fcedd648e3d6
Merge "Move multipip and associated to tools + docs." into stable/grizzly
Build only missing Python packages

Building RPMs for all required Python packages usually
takes a lot of time. That's better to skip building Python
packages that are available as RPMs.

Python package name are converted to RPM (e.g., django to
Django and webob to python-webob) and version is checked
appropriately.

Do not force using already installed packages. It doesn't
speeds up the build process anymore, but leads to bugs.

Implements: blueprint build-only-missing
Fixes: bug #1186450
Fixes: bug #1186450

Change-Id: Id59d954eb8057746051723deee299afc2f10f01f
Merge "Build only missing Python packages" into stable/grizzly
Do not change process UID

When run with sudo, Anvil changed process real UID
to SUDO_UID thus easily creating files with different owners.
This mechanism can confuse some tools (like pip)
Now, we can almost safely stop changing real UID and run
prepare as non-root and bootstrap, install, start, status,
and stop as root.

Also, this removes dependency on sudo.

Implements: blueprint no-uid-tricks
Fixes: bug #1179747
Fixes: bug #1186440
Fixes: bug #1186448

Change-Id: I7ae293aad7f0a5ba08962e6b6b709fe49b8b81ec