(maint) Backport Gemfile and .travis.yml to 2.x

This is a partial backport and update of 03c5c4a434c2290c021034dbfed82cb0f97e0e87
to add travis-ci support and a Gemfile to 2.x. Right now we're not
testing 2.x in travis-ci and we're experiencing spec failures because we
have to install rspec-puppet from git. The best resolution for this is
to consistently use a Gemfile for running tests.

This commit also rewrites the .travis.yml for 2.x to only test 2.x
versions against ruby 1.8.7 and Puppet < 3.0

Conflicts:
	.travis.yml
Merge branch '2.x-backport_gemfile' into 2.x
Merge branch '2.x' into 3.x

This ignores the 2.x .travis.yml when merging up since that version is
only applicable to the 2.x branch.

Conflicts:
	.travis.yml
Merge branch '3.x' into 4.x
Merge branch '4.x'