Provider and Provisioner Managers encapsulate all of
the logic nessesary to start, manage, and stop plugins.
They also have the advantage of sharing a schema cache between
managers started in different parts of the application.
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
This mostly mechanical change defines a central location
for providing installed plugins as a cohesive unit to the
rest of the application. This also provides a location
for future caching of schemas and other potential optimizations.
This is part of the overall initiative to start stripping
functionality out of the tofu package into re-usable components
which can be used by the new engine.
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>