Fix wrong usage of the coverage command

There's no /usr/bin/coverage in Debian and Ubuntu. The package
maintainer of python-coverage decided that it was too generic, and
that the python-coverage shouldn't use just /usr/bin/coverage.
So in Debian and Ubuntu, we have to use python-coverage, or
"python -m coverage". However, "python -m coverage" doesn't work
with Python 2.6.

This patch takes all this into account, and offers fallbacks. If
/usr/bin/coverage exists, we use that. Otherwise, we check for
/usr/bin/python-coverage. Last, if none of these are available,
then we use "python -m coverage" as a fallback.

Note that this is the solution which has been adopted by tuskar-ui,
while Horizon uses now just "python -m coverage", which I think is
less good than this patch (though, I correct Horizon before we did
the tuskar-ui). So, there's alread ya concensus that this problem
(eg: the non-availability of /usr/bin/coverage) must be addressed,
at least to allow distribution package maintainers (Debian in my
case) to run unit tests.

Change-Id: I8c69e1863f229244cbe3b9dd5d0017f73c93638d
Merge "Fix wrong usage of the coverage command"