Add test upgrader intended to use in system tests

In order to test the rollback feature we used to inject raising error
code in one of our upgraders in-place:

    self.fuel_web.modify_python_file(self.env.get_admin_remote(),
                                    "61i \ \ \ \ \ \ \ \ raise errors."
                                    "ExecutedErrorNonZeroExitCode('{0}')"
                                    .format('Some bad error'),
                                    '/var/upgrade/site-packages/'
                                    'fuel_upgrade/engines/'
                                    'openstack.py')

It's a bad design decision which leads to time-to-time falls in tests due
to changes in the upgrader's code. So the commit is going to solve this
issue by providing a special upgrader which will always fail.

Usage example:

    $ UPGRADERS="host-system docker openstack raise-error" ./upgrade.sh

Related-Bug: #1402630
Change-Id: Ia886d8d15cf63af4dc2b85928eb124d931d9c21d
Merge "Add test upgrader intended to use in system tests"