Add plugins for handling meson subprojects

Background

Meson has an idea of subprojects, which seem to be like git submodules but in meson. As a result meson elements can try to download these subprojects at build time and cause errors. It would be nice for BuildStream to integrate nicely with this feature. Thankfully it is possible to just depend on the subprojects as additional sources if necessary and stage them in the correct place.

Task description

Actually adding this support could be complicated by the fact that meson is an Element, and not a Source, so doesn't touch fetch or track. I don't know how it could be achieved in a nice way for users.

Acceptance Criteria

Meson subprojects work nicely with BuildStream.

Edited by Chandan Singh