Last week, keystone was failing to install in developer mode due to us
not specifying upper constraints. This was due to an upcapped version
of pysaml2 being installed which is causing problems. This commit first
clones the requirements repo and then uses the upper constraints file
when installing packages.
Note that we only update pip_install_options when in developer mode if
the constraints aren't already set. This is because in developer mode
you could have a container with multiple services running on it and the
pip_install_options fact would get updated when already set, resulting
in pip failing to install packages.
Change-Id: Iadb01964d2a23ab6457862545eaea5fed77678a5
Partial-Bug: #1553970