Recursively validate puppet parameter values

Puppet internally stringifies all values, which means that rspec
expectations with integers will fail because 1 != "1". This commit adds
a new parameter class, which can recursively validate a parameter and
ensure that structured data will be properly and recursively validated.
Merge pull request #107 from adrienthebo/recursive_param_compare

Recursively validate puppet parameter values
Allow to test defines without a params hash (fixes #103)
Ignore .ruby-version
Improve the run matcher's and_raise_error

This patch makes the .and_raise_error method of the run matcher behave more like
the built-in rspec `raise_error` matcher.

As a side-effect it softens the requirement on the exception class raised
so that .and_raise_error(/foo/) can shortcut to matching any Exception
class with the correct message.
Merge pull request #114 from richardc/run_raise_error_message

Improve the run matcher's and_raise_error
Test on the latest puppet versions
Fix version comparison in function specs
Fix travis test matrix to not test against Puppet 2.6.x on Ruby 1.9
Merge pull request #123 from rodjek/latest_puppet_versions

Test rspec-puppet against Puppet 3.2.x and 3.3.x
Add specs
Deprecate include_class in favour of contain_class
Merge pull request #124 from rodjek/deprecate_include_class

Deprecate include_class
Merge branch 'master' into new-relationship-matchers

Conflicts:
	.travis.yml
	lib/rspec-puppet/matchers/create_generic.rb