Allow specify custom external commands for process interaction

I added the possibility to specify external commands for process interaction (ps, kill, renice). That way it is much easier to adapt the project to other platforms, but also to get contributions to integrate it to other services (AWS, vmware, etc...) or other cool features (connect via SSH, etc...)

I also added an example that interacts with CloudFoundry.

This PR includes the support for MacOSX