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]
changed .count to .size to support legacy ruby
Add ability to use puppet from git via bundler

Without this patch the Gemfile can only satisfy dependencies using
officially release gem versions.  This is a problem because we want to
test stdlib against the latest HEAD of the puppet git repository.

This patch addresses the problem by copying over the location_for method
from the Puppet Gemfile, which will parse out git://, file:// or Gem
version specifications.

This, in turn, allows jobs to be configured to run with different
dependency integrations.
Update Modulefile, README, CHANGELOG for stdlib-4.0.0
Update function documentation for 4.0.0

Without this patch the function documentation is out of sync with the
functions contained in the standard library.  This commit updates the
functions.  I generated the list using this sequence:

    cd ~/src/puppet
    git checkout 3.1.1
    bundle exec puppet doc -r function > /tmp/puppet_functions.txt
    cd ~/src/stdlib
    bundle exec puppet doc -r function > /tmp/stdlib_functions.txt
    diff -U2 puppet_functions.txt stdlib_functions.txt | grep '^+' | perl -ple 's/^\+//' > functions.txt

I then replaced the README function documentation with the contents of
functions.txt which contains only the functions contained in stdlib.
Update gemspec for 4.0.0
Merge branch stdlib 4.0.0 release

* v4:
  Update gemspec for 4.0.0
  Update function documentation for 4.0.0
  Update Modulefile, README, CHANGELOG for stdlib-4.0.0
Fix README function documentation

Without this patch some core puppet functions leaked into the
documentation for the functions contained in stdlib.  This patch removes
them and cleans up some of the formatting.
Update gemspec, CHANGELOG, Modulefile for 4.0.1
(#13695) add README about puppetlabs_spec_helper
Merge branch 'cprice-puppet-ticket/master/13695-readme-about-puppetlabs-spec-helper'

* cprice-puppet-ticket/master/13695-readme-about-puppetlabs-spec-helper:
  (#13695) add README about puppetlabs_spec_helper

[ci skip]
closes #63
Make the anchor type propagate refresh events

Without this patch the anchor resource does not propogate refresh
events, making it difficult to subscribe to a class which has been
notified by another resource.
Add behavior example for anchor refresh propagation

Without this patch we don't have a spec test to make sure the anchor
resource type passes notify events along.  This patch addresses the
problem by using RSpec Puppet to build a catalog, apply the catalog,
then pull a resource out of the transaction and make sure the resource
was triggered.
Merge branch 'philandstuff-master'

* philandstuff-master:
  Add behavior example for anchor refresh propagation
  Make the anchor type propagate refresh events

closes #78
adds compatibility matrix
Merge pull request #144 from ghoneycutt/compat_matrix

adds compatibility matrix
Update gemspec, Modulefile, CHANGELOG for 4.0.2

Without this patch the information displayed on rubygems.org does not
clearly convey the intent of the Gem format of stdlib from the official
puppet module format of stdlib.  This is a problem because end users
might get confused and start installing stdlib from rubygems.org

This patch addresses the problem by making it clear that the gem version
of stdlib is not intended for end users, but rather is specifically
intended to make it easier for other module authors to depend on stdlib
and have that dependency automatically resolved using a Gemfile.

[ci skip]
Merge branch 'update_gemspec' for 4.0.2

* update_gemspec:
  Update gemspec, Modulefile, CHANGELOG for 4.0.2

closes #145
[ci skip]
Merge branch 'master' of git://github.com/puppetlabs/puppetlabs-stdlib
check if an argument supposed to be merged is empty to
pass over undefs without failing