DO NOT MERGE: This should extend support to PE 3.7

This has lots of moving parts, so *do not merge* until it has been
thoroughly tested on PE3.3 and PE3.4/7/whatever both.

This will currently fail on the master unless you manually
`/opt/puppet/bin/puppetserver gem install hocon`. This limitation should
be corrected by a fix to the `conffile` provider @cprice404 is working
on. Track that work at https://tickets.puppetlabs.com/browse/TK-105.

Several of the conditional paths here can be eliminated once PE3.3 isn't
supported. For now, drop much of the directory environments bit behind a
guard and ignore it on $current.

The session timeout is configured under `console-services` now. Note:
This is managed with Preben's `conffile` type, which uses Chris' `hocon`
gem. Because there's no good way to install the gem and use it in the
current run (contingent on testing, of course), I drop an icky nasty
guard fact in place and only manage this file on the second Puppet run.

The user Rake task has different parameters. This should account for
them. All the `console::*` defined type need to be rewritten to the REST
APIs once the old Console is dead.

This adds the `hacon` gem and the `preben-conffile` module to the cache
and updates the module dependencies.

Please, pull this branch in and test it locally on both supported major
PE releases and hammer on it hard. Let's make sure nothing breaks before
we merge it.

With the conditionals in place, once we merge, we should be able to make
a public release without breaking any current classrooms, giving PS the
opportunity to easily test and try out 3.7 before it drops.