Refactored gemspec to use Bundler boilerplate patterns
Added functional tests, added --puppetfile option

They use the Puppetfile in spec/fixtures and create temporary
directories to run the tests. The file is specified using the
new --puppetfile option, which doesn't exist on librarian-pupppet,
but is optional, by default it will use ./Puppetfile

Right now they use modules hosted on both github and forge,
if these services are offline the tests will fail, but this is
better than nothing.