(maint) Move local egrammar makefile tasks to main Rakefile
(PUP-2994) Make validation of storeconfigs a runtime concern.
Merge pull request #2953 from hlindberg/PUP-2994_validation-of-exported

(PUP-2994) Make validation of storeconfigs a runtime concern.
(PUP-3001) Revert future parser change removing dynamic scoped defaults

This reverts the change in PUP-867 by (again) calling the same 3x logic
for looking up defaults. The implementation of PUP-867 also added tests,
and one of those are now changed to reflect the changed behavior.
(docs) Clarify possible exit codes and behavior with negative exit codes on Windows
(PUP-2972) Remove += and -=

Previously the future parser supported += and -=. += was very similar to
the same operator that is in the current parser, but with a few
differences to make it consistent with the rest of the
language. The += operator no longer performed string concatenation and
instead acted like $a = $a + $b. The -= operator was added to complete
the set of operators available.

However, many people have been confused by these operators (even as they
exist in the current parser):

  * It looks like mutation, but the language does not have mutation
  * It looks like += from other languages, but doesn't behave like them
  * Shadowing a variable is something that needs to be explicit,
    otherwise it becomes confusing.

This removes += and -= from the future parser. They are still parsed,
but the validation step will issue errors if they are encountered.
Merge pull request #2957 from hlindberg/PUP-3001_revert-867-dynamic-scoped-defaults-removal

(PUP-3001) Revert future parser change removing dynamic scoped defaults
Merge pull request #2943 from jpartlow/maint/master/move-egrammar-make-to-rake

(maint) Move local egrammar makefile tasks to main Rakefile
(docs) Remove stale warning that Windows can't manage symlinks

Windows can manage symlinks, and we explain the limitations (extra permissions
needed, no-go on 2003) in the `ensure` attribute.
(PUP-2879) Add two nfsd-related upstart services to the blacklist
(PUP-2972) Improve error message for += and -=

The previous error message was very abrupt and didn't provide any kind
of guidance for the user. The new message for += and -= let's them know
that it is *no longer* supported and has a link to where they can get
more information.
Merge pull request #2958 from zaphod42/issue/master/pup-2972-remove-plussignment

(PUP-2972) Remove += and -=
Merge pull request #2959 from nfagerlund/docs_windows_symlink_straggler

(docs) Remove stale warning that Windows can't manage symlinks
Merge pull request #2960 from kylog/issue/pup-2879/add-more-services-to-blacklist

(PUP-2879) Add two nfsd-related upstart services to the blacklist
Merge pull request #2879 from nfagerlund/docs_exec_exitcodes_windows

(docs) Clarify possible exit codes and behavior with negative exit codes on Windows
(PUP-417) Make use of QENG-188 to restart puppet in acceptance

Versions of Beaker prior to the patch in QENG-188 relied on manually
starting and stopping puppet with a `puppet master *args` commandline
invocation followed by a `kill $puppet_pid`. To better mirror manual
smoke testing, we want to be able to start and stop puppet using the
service scripts provided by the installation packages, using `puppet
resource service` calls. We also want to be able to test Puppet from
packages that install with Passenger, relying on an apache restart.

These changes are all in Beaker, in QENG-188, but this commit is needed
to adjust puppet acceptance's setup steps to differentiate between a git
installation, a foss package installation, and a foss package
installation with passenger. Several tests were adjusted as well to be
agnostic between foss webrick/passenger installations, wherever
possible.

This commit also pins to Beaker ~> 1.17, which will pick up future
versions of Beaker < 2.0.  Beaker is smoke testing PRs against Puppet
acceptance, among other projects, so I think it's safe to stay
abreast of releases in the 1.y series.
Merge pull request #2871 from jpartlow/issue/master/pup-417-passenger-acceptance

(PUP-417) Make use of QENG-188 to restart puppet
Merge remote-tracking branch 'upstream/master' into puppet-4

* upstream/master:
  (PUP-417) Make use of QENG-188 to restart puppet in acceptance
  (PUP-2972) Improve error message for += and -=
  (PUP-2879) Add two nfsd-related upstart services to the blacklist
  (docs) Remove stale warning that Windows can't manage symlinks
  (PUP-2972) Remove += and -=
  (docs) Clarify possible exit codes and behavior with negative exit codes on Windows
  (PUP-3001) Revert future parser change removing dynamic scoped defaults
  (PUP-2994) Make validation of storeconfigs a runtime concern.
  (maint) Move local egrammar makefile tasks to main Rakefile