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.
regex can now handle defaults on match queries
Merge branch 'master' into devel