dependencies: Add a DependencyFactory class
dependencies: Add a DependencyFactory class

Instead of using dependencies as their own factories, which is rather
odd, lets just add a dedicated DependencyFactory class. This should be
able to take over for a lot of the factory type dependencies really
easily, and reduce the amount of code we have.

mesonbuild/meson,becm/meson,jpakkane/meson,mesonbuild/meson,becm/meson,becm/meson,pexip/meson,becm/meson,QuLogic/meson,QuLogic/meson,pexip/meson,QuLogic/meson,QuLogic/meson,mesonbuild/meson,pexip/meson,pexip/meson,QuLogic/meson,mesonbuild/meson,jpakkane/meson,QuLogic/meson,pexip/meson,mesonbuild/meson,mesonbuild/meson,becm/meson,jpakkane/meson,jpakkane/meson,jpakkane/meson,becm/meson,becm/meson,becm/meson,pexip/meson,mesonbuild/meson,mesonbuild/meson,pexip/meson,jpakkane/meson,jpakkane/meson,QuLogic/meson,pexip/meson,becm/meson,QuLogic/meson,mesonbuild/meson,jpakkane/meson,pexip/meson,becm/meson,pexip/meson,QuLogic/meson,jpakkane/meson,mesonbuild/meson