Restructuring code to be more modular

This is a big restructuring of this project.  I wanted to make the roles as modular as possible so we can easily create test configurations on the fly that are shareable and independent.  

With a single configuration file you will be able to pull in the installation verification tests for multiple roles including (but not limited to) git, pip, jenkins, easy_install and more.  

The project currently supports checking if a python module is installed, if a service is running, if a file exists, if a minimum/exact version for a binary is met, or if a binary is installed and can be found with the 'which' command.