changed .count to .size to support legacy ruby
Merge branch 'mhellmic-2.x' into 2.x

* mhellmic-2.x:
  changed .count to .size to support legacy ruby
Merge branch '2.x' into 3.x

* 2.x:
  changed .count to .size to support legacy ruby
Merge branch '3.x' into 4.x

* 3.x:
  changed .count to .size to support legacy ruby
(maint) Add Ruby 2.0.0 to Travis build matrix

Without this patch we're not testing against Ruby 2.0.0 which has recently been
released.  This is a problem because we'd like a way to be notified if a change
set breaks compatibility with future supported versions of Ruby.

This patch should not be taken as an indication that we fully support Ruby 2.0,
just as an indication that we plan to in the future.

This patch also tightens up the specifications of the build matrix.  In
addition to testing against the specific Puppet dependency versions, we're also
testing against the latest 2.7.x release and the latest release.
Merge branch 'maint/3.x/ruby_two_travis' into 3.x

* maint/3.x/ruby_two_travis:
  (maint) Add Ruby 2.0.0 to Travis build matrix
Merge branch '3.x' into 4.x

* 3.x:
  (maint) Add Ruby 2.0.0 to Travis build matrix
Fix number of arguments check in flatten()

The function only uses the first argument, so raise an error with
too few arguments *and* with too many arguments.
Merge branch 'pull-98' into 2.x
Merge branch '2.x' into 3.x
Merge branch '3.x' into 4.x
str2bool should return a boolean if called with a boolean
Merge branch 'pull-115' into 2.x
Merge branch '2.x' into 3.x
Merge branch '3.x' into 4.x
Allow comparisons of Numeric and number as String

Puppet passes numbers as String to functions, but it makes more sense to
compare them as Numeric.
But sometimes Puppet passes them as the wrong type, see:
https://projects.puppetlabs.com/issues/19812
Merge branch 'pull-136' into 2.x
Merge branch '2.x' into 3.x
Merge branch '3.x' into 4.x