Rename doc environment to docs

As per the governance resolution https://review.openstack.org/119875,
projects should have a docs environment in their tox.ini testing
interface. Rename the doc environment to docs.

Change-Id: I1ad04bd2c3a0404a2ee6d809154c72bc896d0c36
Make JJB python 3 compatible

Convert to use idioms that work for both python 3 and python 2.6+ and
ensure that a suitable version of dependencies is included for python 3
compatibility.

Update python-jenkins to 0.3.4 as the earliest version that supports
python 3 without any known regressions. Add an extra parser check for
missing 'command' due to changes in how argparse works under python 3.

To access the first element of a dict in both python 2 and 3,
'next(iter(dict.items()))' is used as the standard idiom to replace
'dict.items()[0]' as 'items()' returns an iterator in python 3 which
cannot be indexed. Using 'next(iter(..))' allows for both lists and
iterators to be passed in without unnecessary conversion of iterators to
lists which would be true of 'list(dict.items())[0]'.

Original change which was reverted due to breaking use of job-groups is
If4b35e2ceee8239379700e22eb79a3eaa04d6f0f. This replaces the previous
conversion of 'dict.items()[0]' to 'dict.popitem()', which would result
in removing a job-group when first called, thus defeating the benefit of
being able to reference the group mulitple times. This usage has been
replaced with 'next(iter(dict.items()))' as a non-modifying alternative
that still avoids creating unnecessary copies of data while working for
all supported versions of python.

Change-Id: I37e3b67c043dadddb54e16ee584bde3f79e6a770
Fix again whitespaces with python 2.7.0-2.7.3

We had a patch to fix XML whitespaces with python early than 2.7.3 at (
https://review.openstack.org/#/c/71266/ ). The function was later
changed to < 2.7.0 with:
https://review.openstack.org/#/c/93198/1/jenkins_jobs/builder.py

That apparently restore the issue with python < 2.7.3. Bump the version
check to its previous value.

Change-Id: Ib6c2bdb9f8b82c1770c44a74dfd278bf8b3ea466
Add support for build parameter of type "Run"

Defines a run parameter for parametrized build, where users can pick a
single run of another project. The absolute url of this run will be
exposed as an environment variable.

Change-Id: I86bc3109b00259f9fe3dcf7ab9d72cb1f22fadc2
Merge "Make JJB python 3 compatible"
Merge "Add support for build parameter of type "Run""
Merge "Rename doc environment to docs"
Merge "Fix again whitespaces with python 2.7.0-2.7.3"