add a "step" argument to range()

This patch adds an optional "step" argument to the stdlib range()
function.  There is no change to the default behavior of the function;
however, passing a numeric "step" argument invokes the Ruby Range#step
method, e.g.

    range("0", "9", "2")

returns

    [0,2,4,6,8]
Fix spec tests using the new spec_helper

This patch back ports the file from the master branch.  The spec tests
fail without this patch applied.  This should make it easier to setup
Puppet settings using the puppet_spec_helper project.
Memoize file_line spec instance variables

This just changes the instance variables to a memoized let block and
gets ride of the before :each block.

The patch has no change in behavior.
Make file_line default to ensure => present

The examples in the file_line resource documentation state the following
resource should work:

    file_line { 'sudo_rule':
      path => '/etc/sudoers',
      line => '%sudo ALL=(ALL) ALL',
    }

Without this patch the example does not work because ensure is not set
to present.

This patch fixes the problem by setting the default value of ensure to
present.
Merge branch 'fix/2.3.x/file_line_ensure' into 2.3.x

* fix/2.3.x/file_line_ensure:
  Make file_line default to ensure => present
  Memoize file_line spec instance variables
  Fix spec tests using the new spec_helper
Update CHANGELOG for 2.3.2 release
Merge branch '2.3.x'

* 2.3.x:
  Update CHANGELOG for 2.3.2 release
  Make file_line default to ensure => present
  Memoize file_line spec instance variables
  Fix spec tests using the new spec_helper
Fix spec tests using the new spec_helper

This patch back ports the file from the master branch.  The spec tests
fail without this patch applied.  This should make it easier to setup
Puppet settings using the puppet_spec_helper project.
Merge branch '2.2.x' into 2.3.x

* 2.2.x:
  Fix spec tests using the new spec_helper
Merge branch '2.3.x'

* 2.3.x:
  Fix spec tests using the new spec_helper
fix regression in #11017 properly

We need the defaultvalues for that.
Merge pull request #70 from duritong/2.3.x

fix regression in #11017 properly
Merge branch '2.3.x'

* 2.3.x:
  fix regression in #11017 properly
Update CHANGELOG, Modulefile for 2.3.3
Merge branch '2.3.x'

* 2.3.x:
  Update CHANGELOG, Modulefile for 2.3.3
Update for new gem version of puppetlabs_spec_helper

This updates the Rakefile and spec_helper to use the common versions
available in the puppetlabs_spec_helper rubygem branch. This mostly
just removes a bunch of duplicated code, but it also gives us more
flexibility in how the module is tested in the future.
Require the new puppetlabs_spec_helper gem name
Add support for a 'match' parameter to file_line

This commit adds a new parameter called "match"
to the file_line resource type, and support for
this new parameter to the corresponding ruby
provider.

This parameter is optional; file_line should work
just as before if you do not specify this parameter...
so this change should be backwards-compatible.

If you do specify the parameter, it is treated
as a regular expression that should be used when
looking through the file for a line.  This allows
you to do things like find a line that begins with
a certain prefix (e.g., "foo=.*"), and *replace*
the existing line with the line you specify in your
"line" parameter.  Without this capability, if you
already had a line "foo=bar" in your file and your
"line" parameter was set to "foo=baz", you'd end up
with *both* lines in the final file.  In many cases
this is undesirable.
Merge pull request #75 from cprice-puppet/feature/master/regex-support-for-file-line

Add support for a 'match' parameter to file_line
Merge pull request #73 from branan/use_spechelper_gem

Update for new gem version of puppetlabs_spec_helper