(#17183) Pass on parameters to recursive children in static_compiler

Pass on parameters from the top level resource to recursive children in
the static compiler.
The list of parameters to exclude is taken from the file type
implementation.
Don't keep Gemfile.lock checked in.
(#20787) Do not generate NetBIOS name service requests

Previously, we were constructing an ADSI connection uri using the local
computer name, e.g. 'WinNT://hostname/Administrator,user'. However, Windows
performs a NetBIOS name service request (NBNS), one request for each ADSI
connection, which is very slow when enumerating users and groups.

Simply using '.' to denote the local computer eliminates all NBNS
requests. This reduces the time to run `puppet resource user` from 198
seconds to 3.1 seconds for 39 users, and from 98 seconds to 2.8 seconds for
16 groups.

Note we still have to use the fully qualified uri when adding/removing
users from a group, though it does not result in NBNS requests.
(#20920) Include file and line number on invalid resource relationship

Change the error type to ResourceError to make it include the file name
and line number.
(Maint) Remove unused variables
Merge pull request #1671 from dalen/unused_variables

(Maint) Remove unused variables
Merge pull request #1663 from joshcooper/ticket/stable/20787-adsi-performance

(#20787) Do not generate NetBIOS name service requests
Add acceptance test for report processing
Add vendoring system into puppet

(Revert "Revert "Merge pull request #1542 from hlindberg/vendor"")

This reverts commit 546dac12386865c00c172ba2e7b3f6f747434428, which had
reverted the original commit adding vendoring support. We now need it.
Fix installation of vendored libs

Vendored libs were getting the path component 'lib' removed when only the
leading 'lib' should be removed.
Vendor safe_yaml 0.9.2
Add acceptance test for report processing

This replaces a test in the old "unit" suite that was broken but testing dead
code.
Add vendoring system into puppet

This adds support to Puppet for vendoring libraries.
Fix installation of vendored libs

Vendored libs were getting the path component 'lib' removed when only the
leading 'lib' should be removed.
Vendor safe_yaml 0.9.2
(#20302) Windows ruby 1.8 workarounds are not necessary in 1.9

Previously, the sprintf spec failed, because ruby outputted the
exponent with a leading zero, despite a precision of 2. The zaml spec
failed, because ruby didn't recognize the Europe/London timezone.

Ruby 1.9 fixes these issues, so the workaround in sprintf_spec is no
longer necessary, and the zaml_spec issue is no longer pending.
(#20302) Append .exe to spec "executables" on Windows

When running the tests on Windows and Ruby 1.8.7, File.executable?
returns true on regardless of the file extension. On Ruby 1.9, it only
returns true if the extension is .exe or similar.

This commit ensures the "executable" ends with .exe.
extend the zypper provider with install_options feature

With this patch you can now define a unsigned rpm repository like this:
package { "special-mysql":
  ensure => "present",
  install_options => ['--no-gpg-check', {'-p' => '/vagrant/files/localrepo/'}]
}
Merge branch 'pull-1668'

This closes GH-1668
(#17827) Properly format SMTP HELO when sending tagmail

Previously, the tagmail report sending code did not initialize
Net::SMTP.start with a 'helo' option, which causes securely-
configured SMTP servers to reject the mail.

This commit adds settings to control the destination SMTP port
and the value for SMTP HELO, which default to 25 and our fqdn,
respectively.

Report and original patch from Jim Pirzyk.