initial draft acl module

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
corrected absent example
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
fixed error on detecting missing requirements
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
added nwe module "ovirt"
Added an env-setup file for Fish
Fixed incorrectly set PYTHONPATH
add a way for callback to disable itself

The idea is that some plugin would not be called in some
specific case, and the callback should decide by itself.

Having a way to globally disable it is much cleaner than
disabling every method one by one on the plugin side.

My use case is for fedora-infrastructure that cannot be run
from git checkout since it try to connect to the message bus,
but another case would be to bootstrap infrastructure, or to
run the code on a test servers without having all the callback
infrastructure setup.
Fixed usage comment to fish syntax for sourcing a file
add test for the disabling of callback plugins
- fixed typos and errors from feedback
- now makes sure a proper mask is added
- now captures I/O error produced when group, user or permissions are
  invalid
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
supports nested values of ohai.
Add option remote_user to task level, to specify the ssh login user
Introduce open-iscsi module to manage targets on the initiator.
Add crypt scheme to htpasswd params
now w/o python module dependencies

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
add jail module, based on lxc and chroot connexion plugin
add inventory script for listing jails on *bsd
Fix some "make pep8" errors in the digital_ocean module.
Fix an example with a yaml syntax error.
Add a new unique_name param to the digital_ocean module for idempotence.

As it stands now, it is difficult to write idempotent tasks for digital
ocean droplets.  Digital ocean assigns new nodes a random id when they
are provisioned and that id is the only key that can be used to identify
it in subsequent runs of that play.

The workflow previously involved manual intervention:

- write a play defining a new node with no specified id
- run it, collect the randomly assigned id by hand
- modify the play to add the id by hand so future runs don't create
  duplicate nodes
- perform future re-runs that check if the node exists (by its id)
  - if it does exist then do nothing.
  - if it does not exist, then create it and return a *new random id*
  - collect the new random id by hand, modify the playbook file, and
    start all over.

Its a huge pain.

The modifications in this commit allow you to use the 'hostname' as a
primary key for idempotence with digital ocean.  By default, digital
ocean will let you create as many hosts with the same hostname as you
like.  Here, we provide an option to constrain the user to using only
unique hostnames.

The workflow will now look like:

- write a play defining a new node with a specified hostname and
  "unique_name: true""
- run it, create the new node and move on.
- re-run it, notice that a node with that hostname is already created
  and move on.