Add missing class declaration

README.markdown was missing details about declaring 'my_fw::pre'
and 'my_fw::post' which caused folks following the example to see
the following error:

Could not find dependency Class[My_w::Pre] for Firewall[BLAH]
(#16004) array_matching is contraindicated.

With ":array_matching =>:all", uid/gid rules are reloaded with every
Puppet run.  This is ugly and annoying, and arguably wrong.
Merge pull request #100 from mediatemple/16004-fix_uidgid

(#16004) uid/gid array_matching is contraindicated.
(#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
working with ip6tables support
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
Add tests for socket option

Signed-off-by: Ken Barber <ken@bob.sh>
Added type for socket

Signed-off-by: Ken Barber <ken@bob.sh>
Add support for -m socket option

This adds support to boolean-style flags like '-m socket' as well.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge branch 'ticket/master/socket'

* ticket/master/socket:
  Add support for -m socket option
  Added type for socket
  Add tests for socket option
Add support for single --sport and --dport parsing

Previously if someone already had a rule with a single --sport or --dport we
would fail the parse. This now accepts parsing in the single variant, while
still supporting the multiport variant.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge branch 'ticket/master/single_sport_dport_support_for_parsing'

* ticket/master/single_sport_dport_support_for_parsing:
  Add support for single --sport and --dport parsing
Fix tests for Ruby 1.9.3 from 3e13bf3

Changes in 3e13bf3 broke tests for Ruby 1.9.3 which doesn't support
Enumerable on Strings. Workaround this by casting everything as an array and
flattening to prevent existing arrays from being encapsulated.