(#21272) Refactor created directory from 'puppet module generate'

Currently the created directory is 'username-modulename'.
This patch changes this to 'modulename' because that's mostly used.
(maint) Adds acceptance tests into el6 configuration

Copies acceptance/tests which do not use with_master_running_on into
config/el6/tests.  This set of tests should run in the new testing with
packages Jenkins jobs.
(#21427) Parse WEBrick multi valued params

We had previously converted to trying to parse the query string
directly, because it looked like WEBrick didn't handle multivalued
parameters. This had the effect of not being able to deal with POST
parameters correctly. After investigating WEBrick some more, it turns
out that it actually does support multivalued parameters, but that is
fairly hidden if you just look at the value returned from #query. The
WEBrick::HTTPRequest#query method actually returns a Hash{String,
FormData}. FormData is a subclass of String and adds a linked list of
Strings, which is used to represent the multiple values. Because it is a
subclass of String, it isn't clear what you are dealing with unless you
specifically look at the class that you have. It also looks like a
string because its #to_s returns the head of the linked list.

This changes the #params method for webrick to understand this structure
and correctly return multivalued parameters as individual strings or an
array of strings.
(#21427) Fix Puppet::Run pson implementation

The pson format for Puppet::Run did not include the status, which caused the
kick command to display an error.
(#21427) Unescape values when decoding facts

When puppet sends facts to the master it doubly encodes the data
structure. This happens because both the facts_handler encodes that
serialized facts and the http request functionality encodes the value
again for the query string. Although this happens, the compiler, when
deserializing the facts does not decode the data. This is because
decoding was handled by decode_params, although it never should have
been (the underlying library already has decoded the data), which
disguised this problem.

This changes the compiler to unescape the data that it gets to be
symmetric with the fact sending code.
Merge pull request #1739 from zaphod42/issue/master/21427-fix-param-reading-in-webrick

(#21427) Properly deal with facts again
Merge pull request #1742 from pcarlisle/ticket/21427/run-fix

(#21427) Fix Puppet::Run pson implementation
[maint] Add missing helper libs
[maint] Add missing fixtures directory to el6/external_ca_support
[maint] Remove el6.tar.gz before recreating it

If the tarball exists and tar recreates it, and if the new tarball
size is smaller, tar succeeds but reports:
    tar: el6.tar.gz: File shrank by 93002 bytes; padding with zeros
and exits with a '1' which causes the job to report failure.

Removing the file first ensures this false positive won't happen.
Add ignore entry for Eclipse specific .project file

The Eclipse IDE adds a .project file to the root of each project.
This commit ensures that the file is ignored and doesn't get
inadvertently committed.
Merge pull request #1744 from 'kylog/feature/testing-against-packages'

* kylog/feature/testing-against-packages:
  [maint] Remove el6.tar.gz before recreating it
  [maint] Add missing fixtures directory to el6/external_ca_support
  [maint] Add missing helper libs
  (maint) Adds acceptance tests into el6 configuration

Closes #1744
PSON serialization for `Resource::Status` missing time field

Prior to this commit, the PSON serialization for the class
`Puppet::Resource::Status` was missing the `time` field.  This
would result in `nil` values in reports, which was causing
failures in the PuppetDB report processor.  This commit
simply adds in the field to the serialization, and adds
corresponding test coverage.
Specify precision when serializing resource status time

The previous code for serializing the resource status' `time` field
to pson was not specifying the precision, and apparently Ruby's
default implementation truncates some of the value.  This minor
change allows us to keep the full precision.
(doc) Add documentation on rspec and mocha versions

Community members frequently experience issues running the specs because
of mismatched versions of RSpec and Mocha. This adds documentation to
the README_DEVELOPER.markdown and Gemfile to indicate the version
requirements and the reasons why those requirements are in place.
(maint) Move testing deps into Gemfile group
(#11317) - Do not ever skip resources appliable to both host and device

Since the puppet device feature introduction some types are labelled
as usable on host only, device only or both.

The schedule type is the only type that was labelled 'both'. Unfortunately
the logic in the Transaction#skip? was flawed and this resulted in all
the 'both' kind of resources to always being skipped, which essentially
meant that the Schedule type was non-working for a long time.

Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Merge pull request #1714 from adrienthebo/doc-mocha_version_requirements

(doc) Add documentation on rspec and mocha versions
Merge pull request #1723 from masterzen/tickets/master/11317

(#11317) - Do not ever skip resources appliable to both host and device
OpenBSD has had flavors since the early 2000s at least; sync comment.