Lock down versions of gems via Gemfile

- Added Gemfile{.lock} with explicit ruby dependencies listed
  this includes Puppet to 3.6.2
- Update rspec to use legacy "should" syntax
Fixed handling of non-numeric timeout/retry_interval

Change to use Timeout module rather to simplify logic somewhat...
Refactoring of tests

Not sure if this is better or not
Made TCP the default provider to avoid puppet warnings
Updated Modulefile "name" field to use new format

Otherwise librarian-puppet chokes on hyphens