Scheduler plugin configuration

Refactor scheduler factory to use plugins style similar to credentialprovider and cloudprovider for configuring priority functions and fit predicates.
This is confusing because this is a method on a pointer to the ConfigFactory struct named factory inside the scope of the function (which is the same name as the package). I will change factory to f.