added place for external puppet modules.
Added vagrant and external modules to .gitignore.

this commit add .vagrant and tools/puppet/external-modules
to gitignore.
added r10k to manage external modules

r10k is the puppet deployment tool developed by adrienthebo.

"r10k provides a general purpose toolset for deploying Puppet
environments and modules.

It implements the Puppetfile format and provides a native
implementation of Puppet dynamic environments.  "

https://github.com/adrienthebo/r10k

Create the rake task r10k:install to install the modules on
tools/puppet/external-modules.
ex: rake r10k:install
reorganization of custom puppet modules.

This commit moves the custom installer puppet modules
to the diretory tools/puppet/modules.

Also this commit add a symlink to keep compatibility,
if someone use it hard coded.
Added gemfile.lock to .gitignore

removing gemfile.lock
r10k need puppet gem to deploy from forge

This commit add the puppet gem to Gemfile
For deploying modules from forge r10k
needs puppet gem.

I did not know that before, because I usually
use r10k only with git repositories.
added module to configure firewall

This commits add the puppetlabs/firewall module and
add the custom_firewall module.

The custom_firewall module is used by vagrant
to configure the firewall on the middleware host.
mcomaster puppet config mcollective server and client

This commit make the mcomaster puppet module able to configure
mcollective server and client for the mcomaster application.

mcomaster puppet module should change only things that are
related to mcomaster working. This class rely on mcollective
being installed from puppetlabs/mcollective module.

Example on how to use it will be on tools/vagrant/deploy/site.pp
Add initial support for vagrant.

run:
rake r10k:install
cd tools/vagrant
vagrant up
vagrant ssh mcomaster
mcomaster$mco ping
mcomaster$sudo -s
mcomaster$RAILS_ENV=production scl enable ruby193 "/usr/share/mcomaster/bin/rails server -p 8080 "

Now open in your webbrowser http://localhost:8080, and can login using the username vagrant@example.com
password vagrant
You will have all three machines configured,
middleware (activemq and redis), mcserver (one
server to test mcollective) and mcomaster (the mcollective
client with mcomaster.

TODO:
Make sure the mcomaster puppet module provides a initscript
and configures the mcomaster service.
Make mcomaster puppet module install mco from source.
Merge branch 'master' into vagrant

Conflicts:
	Gemfile.lock
mcomaster puppet module should configure initscript defaults

This commit extend the mcomaster puppet module to configure
the initscript parameters.

Also this fixes that the mcomaster_port was not working,
because it was commented on sysconfig/mcomaster template.

example usage:
class {'mcomaster':
  mcomaster_port         => 8080,
  mcomaster_env          => dev,
  mcomaster_use_thin     => 1,
  mcomaster_thin_use_ssl => 1
}
mcomaster puppet module should enable service.

The mcomaster should enable and ensure the service
mcomaster is running.

This commit makes this possible.
mcomaster service should require create_db exec.

The mcomaster service on puppet mcomaster module,
should require create_db exec.

Before starting the application we need to be sure
that the database was created.
fix on custom_firewall configs.

This commit fix custom_firewall, and add mcomaster
firewall config.
Working vagrant environment

To understand how to use it, see VAGRANT.md file.
fix typo on puppet module mcomaster sysconfig variable names.

access to 'variable_name' is deprecated, should use
'@variable_name'.
Fix mcollective::plugins dependency on repository.
Merge branch 'vagrant' of https://github.com/lmello/mcomaster into vagrant
vagrant mcomaster require yumrepo before any package install

this commit should solve the problems with repositories.
it runs yumrepo before the package resources.
we must use fixed versions for puppet modules.

I was lazy the last time, now every puppet module is using one
version that we now works.