Add clients provisioning feature

The clients provisioning feature will allow create clients to be used on
tests that needs another machine to consume some content.

Also this improve the ssh module to allow specify the machine where to
run a command. Improved logging to show what machine the command was
executed (inspired by Fabric).

Finally was added tests for the new robotello.vm module and properly
added entries for added modules in the docs.
By setting the attr on a instance that will be used for that instance only:

```python
vm = VirtualMachine()
vm.provisioning_server = 'my.cool.server.com'
# do interesting stuff with the vm
```

Also the use of get will ensure that even the config is not available it will not break during the import time:

```python
>>> d = {}
>>> v = d.get('key')
>>> print v
None
```

The decision to use a class attr was because I don't wanna get the config every time a instance is created.