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 remote-tracking branch 'pr/56' into pull-56

Conflicts:
	lib/puppet/parser/functions/range.rb
	spec/unit/puppet/parser/functions/range_spec.rb
(maint) split up range spec with describe blocks
(maint) Use present tense in range_spec messages
(maint) Clean up range_spec error expectation

Replace `lambda` with `expect` for making an error expectation

Add an explicit error message in expectation
(maint) Remove syntax decoration from range_spec
Merge branch 'pull-56'