Don't install anvil test requirements on bootstrap

What anvil needs for its tests should not affect build environment.

Change-Id: I10570941fb4d8c125376990014c7898c23062ad5
Add trove-client to basic-web persona

Horizon requires trove-client now.

Change-Id: I02b8fb9cc2cf53333bb6b5485e50ef2353f0baef
py2rpm: New workaround for differences in PIP and RPM version handling

RPM and pip compare versions differently, and this used to lead to lots
problems, pain and sorrows. The most visible outcome of the difference is
that from RPM's point of view version '2' != '2.0', as well as '2.0' !=
'2.0.0', but for pip it's same version.

This change implements new workaround for this. It works as follows: if
python module requires module of some version, (like 2.0.0), the actual RPM
version of the module will have the same non-zero beginning and some '.0's at
the end ('2', '2.0', '2.0.0', '2.0.0.0' ...). Thus, we can calculate lower
bound for requirement by trimming '.0' from the version (we get '2'), and
then set upper bound to lower bound plus tail of '.0' repeated several times.
Luckily, '2.0' and '2.00' is the same version for RPM.

Then, exact requirements (like 'pysendfile==2.0.0') are replaced with
range (pysendfile >= 2, pysendfile <= 2.0.0.0.0.0.0.0.0.0.0.0), while
for '<=' and '>=' we use only upper or lower bound correspondingly.

Also, we do not trim zeroes from versions that we put in Version: tag, as we
don't need to do that any more.

Closes-bug: #1254991
Change-Id: Idb142d0f85d60183e79964baece52e0128cf9d7b