Refactor to support more operations

This refactor is aimed at supporting more
operations other then install.

This refactor creates
Librarian::Puppet::Simple::Util. This module
is intended to store methods that can be used by
multiple operations. This includes system_cmd,
module_path, and base_dir.

move puppetfile option to be a class option (so
that it can be used by other operations)

Adds an iterator module. The mod method from the
puppet file now just consumes the contents of the
file and constructs a hash. the iterator module
implements the mod method, and also provides
two iterators. One that iterates through all
entries, and another that can be used to iterate
just through a certain type of sources from a
Puppetfile.

These iterators were implemented so that the same
mod method can be run for multiple operations.
Add git_status command

Adds the git_status command which can be used to
determine the current status of uncommitted code
across all projects.
Add dev_setup command

which can be used to add r/w remotes across all
module from a Puppetfile that were installed from
source.
Merge pull request #6 from bodepd/add_dev_commands

Add dev commands