fix nasty side effect in plugin loading

There are bugs, and there are bugs.  This is one from the latter category -- is
took solid 8 hours to find, and was fixed by, essentially, changing a name
string...

For those who care, or are easily amused, consider the following code:

    import plugin_a as plugin
    plugin_instance = plugin.PluginClass ()

    import plugin_b as plugin
    plugin_instance = plugin.PluginClass ()

with plugin sources like this:

    PluginDescriuption = {'name': 'A', ...}
    class PluginClass (object) :
        def __init__ (self) :
            self.description = PluginDescription
            print "%s - %s" % ('A', self.description['name'])

Guess what happens with the code above?  Well, it will print:

    A - A
    B - A

Well, actually, this is not true, but it is the gist of it.  The problem
really occurs only with dynamic module loading (load_source), and when
pointers to the PluginDescriptions are passed to other modules, such as to
a plugin base class.  At that point, the python module registry seems to
kick in and will conflict due to the module name reuse.

The equivalent was triggered by the plugin manager, but only when multiple
plugins from the same namespace and plugin type were used -- which is at the
moment not the case for Troy nor Sinon, fortunately.

This change is backward compatible, and, apart from removing the above side
effect, remains internal to radical.utils plugin manager.
Merge branch 'master' into devel
improve an error message
add support for json parsing from string
typo
Merge branch 'master' into devel
more detailed unit tests on plugin manager
add mongodb dumper
add help for help
remove stupid debug message
some more code docs
use weakrefs in the registry
move db url parser to utils/misc, better layout for dumpdb tool
add pymongo dep...
support base URL
add dict expand and some tests
iteration of dict utils
add staging directive parser
use new get_version for setup.py
small fixes to staging directive parser and dict utils