A nontrivial refactor

Pulling this into a pull request now to re-gain some momentum on this branch and get it ready for a release. This will supersede a lot of the pull requests currently out there and should help resolve many of the issues going on currently with the cookbook. Much of the issues stem from the coupling to the rvm gem so this re-factor helps de-couple the rvm gem dependency and create an LWRP around setup and installation.