Corrected simultaneous plugin loading bug

Previously when a plugin was loaded that caused two other plugins to have
no more dependencies an error occured. UpdateDeferredPlugins would put two
plugins into a list pluginsWithNoDeps and then start loading plugins, which
in turn calls UpdateDeferredPlugins again. When the controls gets back to
the first UpdateDeferredPlugins call, some plugins that are still in the
list pluginsWithNoDeps are already loaded and initializing them again is an
undefined operation, which sometimes lead to an exception being thrown.