(#9082) Sort iptables --state option values internally to keep it consistent across runs

Previously we were getting multiple re-runs due to the fact that iptables
returns a different order with iptables-save then what was used when creating
the rule.

This patch fixes that by sorting states with should=.

Added unit tests to ensure states are correctly sorted. Also added comments in
code to ensure people understand why
Merge branch 'ticket/9082-state-change'

* ticket/9082-state-change:
  (#9082) Sort iptables --state option values internally to keep it consistent across runs
(#10700) allow additional characters in comment string
Merge branch 'ticket/10700-comment_validation'

* ticket/10700-comment_validation:
  (#10700) allow additional characters in comment string
(#10690) Create new port property

This new property will allow you to specify ports that match both destination
and source.

This works the same as dport and sport parameters, so it provides array
support and hyphen separated ranges of ports as well.
Merge branch 'ticket/10690-multiport_ports'

* ticket/10690-multiport_ports:
  (#10690) Create new port property
(#10693) Ensure -m limit is added for iptables when using 'limit' param

Previously we had only been adding --limit to the iptables arguments
which meant the 'limit' parameter was not working at all. This patch
fixes that.
Merge branch 'ticket/10693-limit_module'

* ticket/10693-limit_module:
  (#10693) Ensure -m limit is added for iptables when using 'limit' param
(maint) Fix licensing references to GNU GPL.
Merge branch 'maint/fix_copyright_and_licensing'

* maint/fix_copyright_and_licensing:
  (maint) Fix licensing references to GNU GPL.
(#10792) Release 0.0.3 - CHANGELOG and Modulefile update
Merge pull request #32 from kbarber/ticket/10792-release_0.0.3

(#10792) Release 0.0.3 - CHANGELOG and Modulefile update
Whitespace cleanup.
Add fixtures for ipencap
(#10690) add port property support to ip6tables
Merge pull request #33 from saysjonathan/ticket/10690-port

(#10690) add port property support to ip6tables
(#10997) Add ipencap (protocol 4) support to firewall type property 'proto'

This change adds ipencap as a viable option, and adds it to tests as well.
Merge branch 'ticket/10997-ipencap'

* ticket/10997-ipencap:
  (#10997) Add ipencap (protocol 4) support to firewall type property 'proto'
Merge pull request #37 from mediatemple/whitespace

Whitespace cleanup. (#11034)
Merge pull request #39 from mediatemple/ipencap-fixtures

(#10997) Add fixtures for ipencap