refactored code

Restructured code to break it all up into
smaller modules.

This is the first step in reorganizing this code.
install hiera after puppet master

for some reason, when I install puppet, the
system gem switches from some vagrant specific
one to the regular system one.

As a result, all gems installed before the
puppet master gem are not visible to puppet.

This commit installs hiera and hiera puppet after
the master.
update namespace of vagrant calls

adding namespace to avoid lookups based on the
current namespace.
don't die when pm doesn't exist when destroying

adds new exception: BoxNotCreated

raise this exception when trying to clean out
a puppet master that does not exist.
Add some inline YARD docs

code documentation is fun!!
remove os_tester require from system
add methods for testing swift and deploying a master
Add spec test for testing swift
move PR testing code into a method

so it can be reused for swift
switch testing string to schedule_for_testing

it is more obvious what it means
Add task for testing swift pull requests
remove admin_password from hiera common data

When I added swift support, I added a second
entry admin_password to the common config file.

This commit removes it.
fix remaining refactor bugs

This commit resolves some remaining bugs related to
last weeks massive code refactor.

- updates argument names
- adds more inline documentation!
- explicitly refer to ::Github from the Github
module. Otherwise it fails
Refactor contributor hash

to keep track of the number of commits per
project per user.

it's useful information!
update epel-release rpm

to point to the latest version.

This is a real half ass solution. I still need to
figure out how to just get the latest
move vim package from both to ubuntu only

this is b/c of some error that I ran into on RHEL.
Ensure that apt-get update runs before all packages
add user_contributions task

Add a task that shows how many contributions folks
made to each prokect.
refactor two node test

Reuse the same code to test OS builds
improve test string

changes from test_it to schedule for testing to make it
a little more clear.