Add vagrant testing guide to acceptance/README.

Point to the acceptance/README in the README_DEVELOPER, and also update
the README_DEVELOPER to refer to beaker rather than the now-deprecated
puppet-acceptance.
(PUP-986) Update references to point to Jira

Since the Puppet project has moved from Redmine to Jira, we need to
update all of our references to point to the new place.
(#23343) Use `replace_file` to update a file's contents

The previous code had an unsafe use of temp files by looking for a name
it can use in a directory and then later opening the file and writing to
it. An attacker could, through some lucky timing and good access, make
the selected name a symlink to another file and thereby cause puppet to
overwrite something that it did not intend to.

The temporary file is used to make the file update atomic and also to
check that the contents have been written correctly. This updates the
file type to use the Puppet::Util#replace_file method to do a safe,
atomic, content swap. Since replace_file requires a mode to be provided,
the code was also updated to use the assumed default of 0644, which is
used when figuring out the absolute mode integer from symbolic modes.

In order to get this change to work on windows, there were a few
modifications that needed to be made as well:

 - New file must have binmode set to generate checksums
   appropriately across operating sytems that results from newline
   differences
 - replace_file has been adjusted so that passing a mode is now
   optional, and mode is only applied when the passed value is not nil
 - Windows code has been cleaned up / refactored to reduce unnecessary
   confusing code paths.  The simple mechanism for ensuring Windows
   ReplaceFile will always succeed is to first create a file by
   touching it (yielding default permissions) if it does not yet exist.
 - New integration tests assert that replace_file behaves properly on
   Windows, and the == operator was implemented on access_control_list
   for the sake of test clarity
 - replace_file is now allowed to take a nil `default_mode` so that when
   the file type is not attempting to manage the mode of the file we
   will end up with the system default.
(maint) Fix can't modify frozen Symbol error on Ruby 2.1.0

Without this patch we're getting the following error on Ruby 2.1.0:
`can't modify frozen Symbol (Puppet::Error)`.  This problem is caused by
our monkey patching which attempts to cache Symbol#to_proc return values
instead of creating new instances on every call.

As it turns out, the caching optimization is not necessary on Ruby 1.9.3
and later because Symbol#to_proc implements its own caching system in
these versions.

Here is the full error this patch avoids by not monkey patching
Symbol#to_proc on versions of Ruby prior to 1.9.3.

    bundle exec rspec -fd spec/integration/agent/logging_spec.rb
    /workspace/serious/src/puppet/lib/puppet/util/monkey_patches.rb:79:in `to_proc': Could not autoload puppet/type/component: can't modify frozen Symbol (Puppet::Error)
      from /workspace/serious/src/puppet/lib/puppet/transaction/event.rb:15:in `<class:Event>'
      from /workspace/serious/src/puppet/lib/puppet/transaction/event.rb:8:in `<top (required)>'
      from /workspace/serious/src/puppet/lib/puppet/transaction.rb:13:in `require'
      from /workspace/serious/src/puppet/lib/puppet/transaction.rb:13:in `<class:Transaction>'
      from /workspace/serious/src/puppet/lib/puppet/transaction.rb:11:in `<top (required)>'
      from /workspace/serious/src/puppet/lib/puppet/type/component.rb:4:in `require'
      from /workspace/serious/src/puppet/lib/puppet/type/component.rb:4:in `<top (required)>'
      from /workspace/serious/src/puppet/lib/puppet/util/autoload.rb:61:in `load'
      from /workspace/serious/src/puppet/lib/puppet/util/autoload.rb:61:in `load_file'
      from /workspace/serious/src/puppet/lib/puppet/util/autoload.rb:202:in `load'
      from /workspace/serious/src/puppet/lib/puppet/metatype/manager.rb:159:in `type'
      from /workspace/serious/src/puppet/lib/puppet/type.rb:2466:in `<top (required)>'
      from /workspace/serious/src/puppet/lib/puppet.rb:175:in `require'
      from /workspace/serious/src/puppet/lib/puppet.rb:175:in `<top (required)>'
      from /workspace/serious/src/puppet/spec/spec_helper.rb:16:in `require'
      from /workspace/serious/src/puppet/spec/spec_helper.rb:16:in `<top (required)>'
      from /workspace/serious/src/puppet/spec/integration/agent/logging_spec.rb:2:in `require'
      from /workspace/serious/src/puppet/spec/integration/agent/logging_spec.rb:2:in `<top (required)>'
      from /workspace/serious/src/puppet/.bundle/gems/ruby/2.1.0/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load'
      from /workspace/serious/src/puppet/.bundle/gems/ruby/2.1.0/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `block in load_spec_files'
      from /workspace/serious/src/puppet/.bundle/gems/ruby/2.1.0/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `map'
      from /workspace/serious/src/puppet/.bundle/gems/ruby/2.1.0/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load_spec_files'
      from /workspace/serious/src/puppet/.bundle/gems/ruby/2.1.0/gems/rspec-core-2.11.1/lib/rspec/core/command_line.rb:22:in `run'
      from /workspace/serious/src/puppet/.bundle/gems/ruby/2.1.0/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:69:in `run'
      from /workspace/serious/src/puppet/.bundle/gems/ruby/2.1.0/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:8:in `block in autorun'
(PUP-1246) Fixed hiding error details in fileserver.conf parser

This patch fixes wrong parser behavior in case when fileserver.conf
contains some broken lines. It helps to debug configuration problems
and makes puppet's user life a little bit easier.

Also added 2 unit tests for validating these buggy cases.
(packaging) Update PUPPETVERSION to 3.4.1
Merge pull request #2183 from zaphod42/maint/master/pup-986-update-references-for-jira

(PUP-986) Update references to point to Jira
Merge pull request #2184 from jeffmccune/mri_210_fixes

(maint) Fix can't modify frozen Symbol error on Ruby 2.1.0
(maint) Fix a comment.
(PUP-1246) Update tests to show line numbers

The previous tests didn't check that the correct line number was being
reported. This updates the checks so that we can verify the line number.
Merge branch 'drednout-master'

* drednout-master:
  (PUP-1246) Update tests to show line numbers
  (PUP-1246) Fixed hiding error details in fileserver.conf parser

Closes GH-2185
Merge pull request #2177 from aperiodic/acceptance-docs

Add guide to running local acceptance tests.
Merge tag '3.4.1' into stable

3.4.1

* tag '3.4.1':
  (packaging) Update PUPPETVERSION to 3.4.1
  (#23343) Use `replace_file` to update a file's contents
Merge branch 'stable'

* stable:
  (packaging) Update PUPPETVERSION to 3.4.1
  (#23343) Use `replace_file` to update a file's contents
(maint) Fix rdoc generator for Ruby 2.1.0

Ruby 2.1.0 includes RDoc 4.1.0 which added a requirement that
subclasses of ClassModule implement 'add_prefix'. This requirement
was added in this commit:

https://github.com/rdoc/rdoc/commit/1701151b5b14cd20d624c4ce75fd61cc60cd07f3

The rdoc docs for other classes mention that aref_prefix should be
implemented by subclasses, but generally a base class implementation is
provided.  The rdoc doc for ClassModule hasn't been updated to reflect
the new requirement.

This patch simply implements the 'aref_prefix' method.
(maint) Update test to work on non-UTF-8 systems

Not all systems run as UTF-8 (our solaris tests run as US-ASCII). In
those cases \xc2\xa0 (NO-BREAK SPACE) is not a valid character. This
causes the test to fail because of encoding problems. By using \x01 (a
control character) we can check the same scenario, but using a character
sequence that is valid in all of our setups.
Merge branch 'kylog-maint/fix_rdoc_spec_tests_for_mri_2_1_0'

* kylog-maint/fix_rdoc_spec_tests_for_mri_2_1_0:
  (maint) Fix rdoc generator for Ruby 2.1.0
Merge branch 'master' of https://github.com/puppetlabs/puppet