avocado.cli.app: Remove unused imports

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.plugins.runner: PEP8 Fix
Add support for loading external plugins.

Also, app.run() now returns an exit code -- requires further
udpates to pass the exit code back from plugins.

To load external plugins:

p = MyPlugin()
app = avocado.cli.app.AvocadoApp(external_plugins=[p])
app.run()

and here's a MyPlugin example:

import sys
import avocado
from avocado.plugins import plugin

class MyPlugin(plugin.Plugin):
    def configure(self, parser):
        myparser = parser.add_parser('hello',
                                     help='Hello World!')
        myparser.set_defaults(func=self.hello)
	self.enabled = True

    def hello(self, args):
        print 'Hello World!', args

And how to execute:

python myplugin.py hello
Hello World! Namespace(func=<bound method MyPlugin.hello of <__main__.MyPlugin object at 0x1574f90>>, log_level='', logdir='', verbose=False)

Signed-off-by: Ruda Moura <rmoura@redhat.com>
Add support for loading external plugins from directory.

Create new option --plugins to pass a directory for loading external plugins.
Also, add some plugins examples in examples/avocado_example_plugins.py.

The external plugins are loaded from avocado_*.py modules and the plugins are
subclasses of Plugin().

Signed-off-by: Ruda Moura <rmoura@redhat.com>