Add support for names-factory provided by a plugins

Add new names-factory type `plugin` for the names factory provided by a
plugin that returns a list of names.
The `plugin` type names-factory generates task definition for all the
names returned by the plugin, with task(s) name set to the name(s)
provided by plugin.

Example of names-factory of type `plugin` config:

```
[names-factory "plugin provided names"]
    type = plugin
    plugin = foobar
    provider = names_provider
    arg = baz
```

Change-Id: Ia41a245ac12320409b576210b4a44a2a610f41b9
14 files changed