First pass of iptables parser which reliable pulls out values
Adding extra handling for tcp-flags
retabbing to 2 spaces instead of 4 to match existing style
fixing tcp-flags as it was including "--tcp-flags" instead of the actual values
(WIP) Reduce arg/param mappings

Use an inverted copy of resource_map to parse rules from iptables-save. This
saves maintaining two copies of the argument to param mappings. Arguments
for required modules and alternative arguments are also split out into
separate hashes.

I was hoping to use resource_map to create rules in general_args as well,
since this new parser makes us agnostic of the ordering in iptables-save.
However all of the arrays in the test fixtures still depend on order.
(WIP) Test general_args as unordered pairs

Reverse parsers changes mean that the order of arguments no longer matters
so long as each argument has the correct value. This paves the way to remove
the ordered @resource_list from the provider.
(WIP) Remove resource_list from provider

Use @resource_map to perform unordered forward parsing. Chain has to be
reversed parsed separately because it is applied separately in insert_args
and update_args.
Merge remote-tracking branch 'dcarley/wip/parser_rewrite'