Add .gitignore

Add a gitignore file that ignores things that are
populated into this project.
refactor the Vagrantfile to remove duplicate code

This commit refactors the vagrant class to remove
duplicate code.

it adds the following methods:
  get_box - retrieves the base_box that should be used
  setup_networks - sets up the 3 networks
  setup_hostname - sets up the hostname

it also standardizes the config object yielded to
the vm blocks as config.
update modules to use base_url

This commit just removes some duplication by
ensuring that all modules specify the base_url
variable
update apt_cache

to point at the correct machine
update Vagrant file to conditionally create symlink

on the build server, it was trying to create
symlinks even when they already existed.

This led to failures when provision was run (after
the initial boot). This adds some extra code so
that we only attempt to add the templates symlink
if it does not already exist.
add site.pp

Adds my working site.pp. This should not be here for forever, but
adding it here temporarily makes testing a bit easier.