(#11673) Adding OSPF(v3) protocol to puppetlabs-firewall

Added support for ospf to the proto property.
Merge branch 'ticket/master/11673_ospf'

* ticket/master/11673_ospf:
  (#11673) Adding OSPF(v3) protocol to puppetlabs-firewall
(#10165) Display multi-value: port, sport, dport and state command seperated

Previously the output that changed was munged when puppet was being ran, this
change provides a comma seperated output when the values change instead.
Merge branch 'ticket/10165-port-commasep'

* ticket/10165-port-commasep:
  (#10165) Display multi-value: port, sport, dport and state command seperated
(#12897) Require jump=>LOG for log params

This validates that when log_prefix or log_level is specified the jump
should be 'LOG'
Merge branch '12897-validate_log_params'

(#12897) Require jump=>LOG for log params
Make Puppet DSL compliant with the style guides and puppet lint.
(#10162) add firewallchain type and iptables_chain provider

Add firewallchain type and iptables_chain provider. This is required
to support the firewall class and it is envisaged that an autorequire
will be used to automatically require the user chain. This type can also set
policies on inbuilt chains.

Provider covers ebtables (optional), iptables, ip6tables.
(#10162) Various fixes for firewallchain resource

* Convert commands to optional_commands to avoid iptables installation chicken
  & egg scenarios.
* Downcase tables to match the table names in xtables
* Force fully qualifying the name as <table>:<chain>:<protocol>, we can add
  meaningful defaults later.
* puppet resource <name> command wasn't working as expected, but stripping out
  some of the meaningful defaults I was able to get this to work.
* Reformat some of the code to avoid overrunning 80 chars where possible
* Remove trailing whitespace
* Add flush to provider so that resource modifications immediately update the
  resource in reports and when using puppet resource.
* Removed any commented out code
* Improved documentation
* Change policy so its undefined when not set, instead of being :empty
* Fix test mocking so they will run on a Mac
(#10162) Modify firewallchain name to be chain:table:protocol

We've decided to change the ordering of the namevar so that it is now:

    chain:table:protocol

So its closer to a linear hierachy ie. chain in table in protocol.

Previously this was table:chain:protocol which made less sense.
(#10162) Fix examples for firewallchain in README
Merge pull request #62 from kbarber/ticket/10162-firewallchain_support_for_merge

Ticket/10162 firewallchain support for merge
(#13192) Fix allvalidchain iteration

Before this patch, we were getting errors because chain & table were swapped
during creation.
Merge pull request #63 from kbarber/ticket/master/13192_allvalidchains_order

(#13192) Fix allvalidchain iteration
(#13201) Firewall autorequire Firewallchains

Autorequire Firewallchain resources for Firewall resources that have jump or
chain parameters. Remove require params from README examples now that
they're not essential.

Only deals with iptables and ip6tables providers, which have support for
chains. Doesn't attempt to weed out chains that might be builtin. Just let
Puppet determine which of the resources are really managed.
(#13201) Tests and docstring for chain autorequire

Test for autorequire behaviour on :chain, :jump, and :chain + :jump params.
With both specified and default/undef :table and :provider params.

Document autorequire behaviour in docstring.
Merge pull request #67 from dcarley/13201-autoreq_chain

(#13201) Firewall autorequire Firewallchains
(#13216) Fix README so setup instructions actually work

The old setup instructions were vague, and incorrect. This fixes those
instructions so they actually work, and breaks them out into their own
section.(#13216) Fix README so setup instructions actually work
Merge pull request #68 from kbarber/ticket/master/13216-fixed_setup_instructions_in_readme

(#13216) Fix README so setup instructions actually work
(#11305) Support vlan interfaces (interface containing ".")