Merge pull request #150 from lmr/more-usability-fixes

More usability fixes
docs: reduce noise on configuration file

IMHO, the generated sphinx config file is too noisy and thus hard to
manage. Let's clean it up.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
docs: show documentation for both the class and its __init__ method

Signed-off-by: Cleber Rosa <crosa@redhat.com>
docs: add initial man page

This page is intended as a basic offline aid for new users of avocado.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
Merge pull request #152 from clebergnu/man

Initial man page support
avocado.job: Change Ctrl+C handling

Instead of sending SIGKILL to child processes right away,
ignore Ctrl+C for a time window of 2 seconds, explaining
to the user that, and that after the ignore window,
new Ctrl+C will send SIGKILL to the children and terminate
the process.

The functional test was removed, and will be re-added
once I figure out how to properly test the interrupt
behavior.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
setup.py: add missing !#/bin/env python header

Without it, setup.py is interpreted as a bash script.
Merge pull request #153 from lmr/ctrl-c-handling

avocado.job: Change Ctrl+C handling
Merge pull request #154 from lmr/trivial-fixes

setup.py: add missing !#/bin/env python header
avocado.core: Introduce tree library

Introduce a new data structure that will be the base of
our new multiplexing mechanism.

Signed-off-by: Ruda Moura <rmoura@redhat.com>
avocado: Introduce the new multiplexer library

Based on the new treenode data structure, we
built a new multiplexing algorithm. It has some
different properties and uses a more standard
YAML file format for the configuration files.

This commit is the new base library.

Signed-off-by: Ruda Moura <rmoura@redhat.com>
avocado: Change framework to use the new multiplexer

That change has to be made all at once for the sake of
bisectability. Update avocado.job and the multiplexer
plugin with the new multiplexing library code.

Also, update functional tests, the avocado sample tests
with the new YAML based config files, and the requirements.txt
file with the new prominent dependency of avocado, PyYAML.

Signed-off-by: Ruda Moura <rmoura@redhat.com>
avocado: Remove the old multiplexer

Signed-off-by: Ruda Moura <rmoura@redhat.com>
docs: Update documentation with new multiplexer sections

Also, remove the references to the old system.

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