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]
Merge branch '4.x'

* 4.x:
  Revert "Revert "Revert "Revert "Merge branch 'hkenney-ticket/master/2157_remove_facts_dot_d'""""
  Revert "Revert "Revert "Merge branch 'hkenney-ticket/master/2157_remove_facts_dot_d'"""
Merge branch '4.x'

* 4.x:
  Update Modulefile, CHANGELOG for 3.1.0
Merge branch '4.x'

* 4.x:
Merge branch '4.x'

* 4.x:
  Revert "Revert "Merge branch '2.5.x' into 3.0.x""
  Revert "Merge branch '2.5.x' into 3.0.x"
  (maint) Fix spec failures resulting from Facter API changes
Merge branch '4.x'

* 4.x:
  Update Modulefile, CHANGELOG for 2.5.1
Merge branch '4.x'

* 4.x:
  Add function, uriescape, to URI.escape strings. Redmine #17459
  Add function, uriescape, to URI.escape strings. Redmine #17459
  Add function, uriescape, to URI.escape strings. Redmine #17459
  Update CHANGELOG, Modulefile for 3.1.1
Merge branch '4.x'

* 4.x:
  (#13974) Add predicate functions for interface facts
Merge branch '4.x'

* 4.x:
  Add the pick() function
puppet-lint cleanup
Merge branch '4.x'

* 4.x:
  Extend delete function for strings and hashes
  Fixed typo
Merge branch 'jfryman-master'

* jfryman-master:
  puppet-lint cleanup
Merge branch '4.x'

* 4.x:
  Add join_keys_to_values function
Merge branch '4.x'

* 4.x:
  (#14670) Fixup file_line autorequire specs
  (#14670) autorequire a file_line resource's path
Merge branch '4.x'

* 4.x:
  (#17797) min() and max() functions
Merge branch '4.x'

* 4.x:
  (Maint) Add spec/functions to rake test task
  Add example behaviors for ensure_packages() function
  Add an ensure_packages function.
Merge branch '4.x'

* 4.x:
  Revert "(Maint) Add spec/functions to rake test task"
Merge branch '4.x'

* 4.x:
  Add reject() function
Merge branch '4.x'

* 4.x:
  Update Modulefile, CHANGELOG for 2.6.0
Merge branch '4.x'

* 4.x:
  Update Modulefile, CHANGELOG for 3.2.0