Setup a single provider with fine grain controls

Setup a single provider with fine grain controls
Some tests want to setup a single provider, this used to be the _first_quad and set_providers was used. This meant that if a provider failed during set, even if "one" provider had already been setup (the only test prerequisite) then the test failed.
This new function enables a subset of the providers to be used, but only the first is set up. In this way, unless the yamls change (documented) we should have a fairly safe test, if the first provider cannot setup, then the next one will.