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.
This commit introduces a new class that represents a loaded project
(GPRProject), created from the usual project loading arguments (project
file, scenario variables, target and RTS info). This new class provides
two methods: create_unit_provider(project=None) to create a unit
provider wrapping a project and source_files(mode) to query the list of
source files in a project.
It also removes the now obsolete SourceFiles class (recently added), but
preserves the UnitProvider.for_project method to avoid breaking existing
user code (been there for several years).
Closes#932