(#14463) Convert port Fixnum into strings

Avert errors like this:
Parameter dport failed: Munging failed for value 1194 in class dport: can’t convert Fixnum into String

Also, pass along the protocol so Socket can make well informed decisions.
(#14463) Fix to pass unit tests

* Add default protocol to fix the test for converting a string 'ssh' to a port
number was failing like so:
  1) Puppet::Type::Firewall dport should convert a port name for dport to its number
     Failure/Error: @resource[port] = 'ssh'
     Puppet::Error:
       Parameter dport failed: Munging failed for value "ssh" in class dport: no such service ssh/proto
     # ./lib/puppet/type/../../puppet/util/firewall.rb:84:in `getservbyname'
     # ./lib/puppet/type/../../puppet/util/firewall.rb:84:in `string_to_port'
     # ./lib/puppet/type/firewall.rb:164:in `unsafe_munge'
     # ./spec/unit/puppet/type/firewall_spec.rb:161

* Always convert the response .to_s
Merge branch '14463-port_fixnums_to_strings'

Fixes #101 pull request.
Update test framework to the modern age

* Install puppetalbs_spec_helper and removed the stuff we were using previously
* Get tests running on 3.0.x
* Update gemspecs to more recent revisions of test tooling

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #102 from kbarber/test_updates

Update test framework to the modern age
Remove gemfile.lock and add to gitignore
Update travis and gemfile to be like stdlib travis files
Fix require of precise puppet library

rspec tests fail unless we added require 'puppet'.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge branch 'standardize_travis'

* standardize_travis:
  Fix require of precise puppet library
  Update travis and gemfile to be like stdlib travis files
  Remove gemfile.lock and add to gitignore