avocado.plugins.plugin: Change instance creation in Plugin class.

* Add optional parameters 'name' and 'enabled' to the constructor.
  You can just use the class variables name and enabled.
  Change plugin variable to noname and enabled variable to False.

* Include new attribute 'description' to include short documentation
  about the plugin. By default it uses the docstring of the class
  or fall backs to a message that there is no documentation.

* Add repr() facility.

Signed-off-by: Ruda Moura <rmoura@redhat.com>
avocado.plugins.lister: Get plugin docs with description attribute.

Signed-off-by: Ruda Moura <rmoura@redhat.com>
avocado.plugins.manager: Log when module has no plugin inside.

Log a message when loading external plugins discovers that
there is no plugin inside a module.

Plus: cosmetic formatting.

Signed-off-by: Ruda Moura <rmoura@redhat.com>
selftests: "Hello World!" external plugin, functional test.

Add new "hello world!" plugin, to perform functional tests
on external plugins.

Created class ExternalPluginsTest() to move all
functional tests regarding external plugins there.

Signed-off-by: Ruda Moura <rmoura@redhat.com>
selftest: Add unit tests for plugins.

Signed-off-by: Ruda Moura <rmoura@redhat.com>
Merge pull request #161 from ruda/refactory_plugins

Refactory plugins