It seems that we don't have a clear policy on how to handle requirements for "optional" modules. For example #3532 introduced a pass that requieres `z3-solver` an that was added as a *requirements-dev* https://github.com/Qiskit/qiskit-terra/pull/3532/files#diff-f4c265073ea4274a80eca85440875e56, while #3043 also introduced a pass with an extra dependency (`python-constraint` in this case) but did not extend *requirements-dev*. What should be the policy here?