(#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.
Merge branch 'pull-1351'

This closes GH-1351
(#20302) Handle nested include filters

Nested rspec include filters don't work the way I expect. Given:

  describe "A", :if => rdoc1? do
    before :all do
      require 'rdoc/tokenstream'
    end

    describe "B", :if => windows? do
    end
  end

If rdoc1? is false, but windows? is true, the before :all/:each blocks
will still be executed, and the tests in B will be executed.

As a result, the spec tests fail on Windows and ruby 1.9, because our rdoc
parser is not compatible with newer versions of rdoc. For example,
rdoc/tokenstream.rb was moved to token_stream.rb, etc.

This commit adds the rdoc1? predicate to the example group B, so that
it is not executed when rdoc1? is false.
(#20302) File.expand_file('~') fails differently in Ruby19

In ruby 1.8, calling File.expand_path('~') when HOME is undefined
would raise ArgumentError on both Unix and Windows.

The same test in ruby 1.9 does not raise on Windows, because ruby
also looks at HOMEDRIVE and USERPROFILE. Only if all three are
undefined does ruby raise ArgumentError as expected.

This commit ensures all 3 environment variables are undefined in util_spec. It
also only tests the platform specific RunMode functionality on the appropriate
platforms, and adds tests that were missing on the Windows side.