(packaging) Update PUPPETVERSION to 3.4.0
Merge tag '3.4.0'

3.4.0

* tag '3.4.0':
  (packaging) Update PUPPETVERSION to 3.4.0
(PUP-665) Setting nil reverts to default

The behavior of looking up settings was not entirely right from the
previous commit. The true behavior is:
  * Search through layers in the order of [cli, memory, environment,
    run_mode, main, application_defaults]
  * Find the first layer that has ever had the setting manipulated for
    it.
  * If the value for that layer is not nil use that value.
  * If the value for that layer is nil use the value from puppet's
    defaults.

This commit restores that behavior and adds a test to check that it
happens.
Merge tag '3.4.0' into stable

3.4.0

* tag '3.4.0':
  (packaging) Update PUPPETVERSION to 3.4.0
Merge pull request #2175 from zaphod42/maint/master/allow-settings-to-be-undefined

(PUP-665) Setting nil reverts to default
(maint) Use internal rubygems mirror during CI bootstrap
(maint) Set gem mirror conditionally
Merge branch 'stable'
Merge branch 'master' of https://github.com/puppetlabs/puppet