avocado.cli.parser: New way to parsing arguments.

Modify how we parse command line arguments,
by removing the logic that was inside avocado.cli.app into
this new module.

Signed-off-by: Ruda Moura <rmoura@redhat.com>
avocado.plugins: Use avocado.cli.parser and method run().

On Plugin.configure(), remove app_parser and cmd_parser arguments
and now use parse, an instance of avocado.cli.parser.Parser().
The application (old app_parser) is available with parser.application.
The subcommands (old cmd_parser) is available with parser.subcommands.

Now the runner plugins (like sysinfo, datadir, run, etc.)
make use of the standard method run() to execute the logic.

Signed-off-by: Ruda Moura <rmoura@redhat.com>
avocado.plugins.runner: Option --silent exclusive to run.

Remove generic option --silent and turn it to subcommand run.

Signed-off-by: Ruda Moura <rmoura@redhat.com>
self.avocado.plugins.runner: don't need to quote list of tests.

The parser for the subcommand run now accepts one or more
tests ids (paths / aliases) and there isn't a need to quote the list
as a string.

Example:

* Before: avocado 'sleeptest failtest /usr/bin/true'
* Now: avocado sleeptest failtest /usr/bin/true

So it's now possible to run avocado like `avocado run *.py`.

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

avocado.cli.parser: New way to parsing arguments.