Changed implementation of proxy setup

Changed the setup_http_proxy method to setup_proxy.
The same arguments are used as before. This change includes
workarounds for pulp proxy configuration. Example usage below.

PROXY_INFO=proxy://admin:p@$$w0rd@my.proxy.redhat.com:8888 fab -H some.random.machine.redhat.com -u root -p 'myP@$$w0rd1$$0c00l' setup_proxy
Merge pull request #57 from JacobCallahan/setup_proxy

Changed implementation of proxy setup
Add performance_tuning task

The task tunes up the Satellite 6 performance on both bare metal machine
and virtual machine according to the running_on_vm argument.
Merge pull request #58 from elyezer/performance-tuning

Add performance_tuning task
Increase poll subscribe retries

Automation matrix have increased and the poll subscribe is failing again
due to the concurrent subscription. Because this is better to increase
to a higher number to make sure all machines gets subscribed to the
poll.
Merge pull request #59 from elyezer/subscribe-retries

Increase poll subscribe retries
Make distro_info return an integer for version

Make distro_info task return an integer for os version.

Also fix os version check when checking if should install abrt plugin or
not on the provision_install task.
Merge pull request #60 from elyezer/fix-distro-info

Make distro_info return an integer for version
Fix typo on distro_info's docstring
Merge pull request #61 from elyezer/docstring-typo

Fix typo on distro_info's docstring
Pass ``--os`` during nightly install.

We need to pass ``--os`` to the nightly installer in order to avoid some
of the issues we have seen while installing it on RHEL 7. According to
the installer:

```bash
Usage: ./setup.rb [options]
        --os [OS]                    Set OS manually
        --devel                      Setup a development environment
        --devel-user [USERNAME]      User to setup development environment for
        --installer-options [OPTIONS]
                                     Options to pass to katello-installer
        --skip-installer             Skip the final installer command and print instead
        --deployment-dir [DIRECTORY] Set a custom path for installing to (defaults to /home/USERNAME)
        --version [VERSION]          Set the version of Katello to install nightly|2.0
```
Merge pull request #62 from omaciel/pass-os-flag

Pass ``--os`` during nightly install.
Run yum repolist to debug nightly install issues

Run yum repolist before setup.rb, after setup.rb (also before katello-installer)
and after katello-installer.
Merge pull request #63 from elyezer/nightly-repolist

Run yum repolist to debug nightly install issues
Add product install task

The product task makes easy to install every product distribution. If
needed it can create a virtual machine by specifying create_vm argument
is True. Also it can setup a DDNS entry if required environment
variables are set.

Rename install tasks to match the pattern <distribution>_install and use
better know distribution names.

Add aliases to ensure backward compatibility.
Add setup_vm_provisioning task

The task will setup all required packages and a network bridge device in
order to allow the target machine manage virtual machines using vm tasks.
Merge pull request #65 from elyezer/product-install-task

Add product install task
Merge pull request #66 from elyezer/provisioning-infra

Add setup_vm_provisioning task
Updated tasks to use ``systemctl`` for RHEL 7.

Updated tasks to use ``systemctl`` instead of ``service`` to manage
services as well as use OS-version specific service names (e.g.
``firewalld`` versus ``iptables``).

String formatting uses indexes to accommodate older versions of Python.

Also, cleaned up the ``cdn_install`` task by removing its ``subscribe``
and ``install_prerequisites`` calls since these already already handled
by ``product_install``.
Merge pull request #68 from omaciel/rhel-7

Updated tasks to use ``systemctl`` for RHEL 7.