This is the same as calling GPRProject.load and then
UnitProvider.gpr_project. But still keep for_project that is
doing both at once.
Refactor the code a bit so that UnitProvider functions can rely on
GPRProject module (was the other way around).
Closes#988
The raisable mecanism is not used correctly here and thus,
ada_get_last_exception is not called when calling ada_gpr_project_load.
Fix this by correctly binding ada_gpr_project_load.
Also fix the original test that was not correctly showing this issue...
Closes#992
Add a new argument (with default value, to avoid breaking the public
API) that controls the set of projects to inspect. This allows to
override the default behavior, which starts from the root project only.
Also extend the C and Python APIs accordingly. Leave the OCaml bindings
for later.