Manage hiera.yaml

This allows us to overwrite the default with our own, but also allows
the student to update it at will.

Also, change over to modulefile.json for fundamentals.
Merge pull request #305 from binford2k/ticket/COURSES-453/manage_hiera.yaml

Manage hiera.yaml
Updating for version 2.9
cache the nano package

It's installed by default, but cache in case the student removes it for
the userprefs lab.
Merge pull request #306 from binford2k/fix/cache_nano_package

cache the nano package
update the cached forge modules
Test new cached modules
Merge pull request #307 from binford2k/ticket/TRAINVM-96/update_cached_modules

update the cached forge modules
Fix root's homedir

This won't affect current intended usage, so no need to push out an
update just yet.
Merge pull request #309 from binford2k/wip/add_user_management

Fix root's homedir
power_spec.rb: work with latest puppetlabs-apache

Modulefile no longer exists in puppetlabs-apache, check metadata.json
instead.

Signed-off-by: Scott Garman <sgarman@zenlinux.com>
Merge pull request #310 from ScottGarman/master

power_spec.rb: work with latest puppetlabs-apache

Thank you,@ScottGarman.
fixed two minor typos - had fun doing the quest tutorials!
just a few other small tweaks
Merge pull request #311 from vocatan/master

fixed two minor typos - had fun doing the quest tutorials!

Thanks! @vocatan
(COURSES-317) Cached puppetlabs/mysql modules old

The course materials in ciruclation today refer to the new mysql_* types
in the more recent version(s) of the puppetlabs/mysql module. When
performing a class with internet access, there is no issue, as the
Puppet Module Tool can reach the internet. However, when teaching a
class with limited Internet connectivity, the cached version of the
module is too old to be effective.

This commit will set the cached version of the puppetlabs/mysql module
to the 2.3.1, which is the most recent release at this time.

This version has already been tested in the field since this is the
version that would be downloaded in classes with Internet access today.
Merge pull request #312 from trlinkin/mysql_version_up

(COURSES-317) Cached puppetlabs/mysql modules old
 - not / since we check for a similarly named file
Merge pull request #313 from casharma/fixtests/cache_modules

 - not / since we check for a similarly named file
Extract the installer if, for some reason, the symlink wasn't created