avocado.utils.script: Introduce script module.

Introduce avocado.utils.script module to handle the creation
of scripts stored in the file system.

The module includes a flexible class for creating generic scripts and
 includes utilities functions too. Some examples:

    CONTENT = """
    #!/bin/sh
    echo "Hi There!"
    """

    x = avocado.utils.script.Script('/var/tmp/test.sh', CONTENT)
    x.save()
    ... do something with x, like run it ...
    x.remove()

    t = avocado.utils.script.make_temp_script('test.sh', CONTENT)
    ... do something with y, like run it ...

Avocado functional tests makes use of script creation,
so we will handle these creation using this proper module.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
Introduce 'remote' plugin (run tests on remote machine).

Introduce remote plugin that allows one to run tests on a remote
machine, by using the SSH network connection provided in module
avocado.utils.remote.

Since the remote plugin and the vm plugin share the same RemoteTest
test class, we're going to define this class inside avocado.test module.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
selftests: Introduce unit test for remote plugin.

Introduce a new unit test for remote plugin.

Since the remote plugin and the vm plugin share the same RemoteTest
class, we need to update the vm_unittest to use this class.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
docs+man: Introduce docs and manpage for remote plugin.

Introduce the documentation regarding the new remote plugin.
Include information about using the remote plugin in the manual page.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
Merge pull request #249 from ruda/avocado_plugins_remote_V4

Remote machine plugin [V4]
Merge pull request #247 from ruda/avocado_utils_script_V3

Introduce avocado.utils.script module [V3]