Configure the Fundamentals classroom environment.

  * set up the agent with an sshkey for root
  * set up a git working directory for the user
  * point a git remote to the repo on the puppet master
  * export a fundamentals::user account
      * this depends on a root_ssh_key fact so this user
        account won't be exported properly on first run

  * prepares the master's environment
  * creates a git repository root
  * creates an environment root for checking out working copies
  * instantiate all exported fundamentals::users
      * creates a shell user with ssh key
      * creates a puppet.conf environment fragment
      * creates a bare repository in repo root
      * checks out a working copy in the environments root
Add a check for HEAD

so it doesn't barf on first commit
Add back in the modules symlink

This allows for local puppet usage
Parameterized agent.pp
We don't need NFS anymore
Validate first commit
bah. No HEAD means nothing can be verified.
Extended to support the Hiera demo

Use Hiera to define the team membership and the team repositories will
all be created and each student will get a working directory for each
team that he/she is a member of.

The Hiera data file should look something like:

---
teams:
  teamone:
    - studentone
    - studenttwo
    - studentthree
  teamtwo:
    - studentfour
    - studentfive

Since the Debian machine should have been spun up by now, it might be
useful for the instructor to add that machine to each team. That will
make it easy to check and/or help out.
Cleaning up some unused code.
Fix the symlink path
Can programatically configure Hiera for Capstone

If you want, you can include the class 'fundamentals::master::hiera' on
the master to automatically generate a `hiera.yaml` and a `common.yaml`
for the Capstone lab. You will have to gauge whether it would be more
helpful to your students to type it out and show how easy it is to
manually edit data files, or to run the code and show them the template
to demonstrate how easy it is to generate programatically.
typo fix
Update Modulepath for Git Workflow

Previously, the modulepath used in the fundamentals module for the
Git workflow pointed to the user's repository directory and not the
'modules' directory contained therein.  Because of this, Puppet couldn't
find any classes.  This commit fixes that.
Merge pull request #89 from glarizza/git_workflow/modulepath_fix

Update Modulepath for Git Workflow
Only manages pe-httpd on 2.7.0

Addresses #20492 but we should revisit soon.
Configure the Fundamentals classroom environment.

  * set up the agent with an sshkey for root
  * set up a git working directory for the user
  * point a git remote to the repo on the puppet master
  * export a fundamentals::user account
      * this depends on a root_ssh_key fact so this user
        account won't be exported properly on first run

  * prepares the master's environment
  * creates a git repository root
  * creates an environment root for checking out working copies
  * instantiate all exported fundamentals::users
      * creates a shell user with ssh key
      * creates a puppet.conf environment fragment
      * creates a bare repository in repo root
      * checks out a working copy in the environments root
Add a check for HEAD

so it doesn't barf on first commit
Add back in the modules symlink

This allows for local puppet usage
Parameterized agent.pp
Merge conflict. Removing NFS