sorry all this isn't in separate commits but I've been making these changes over many months
to my local puppet repository

1) created a separate type to manage ipv6 rules. this was necessary when the only way to purge
   rules was the 'resources' metatype. it's not necessary now but I still prefer it.

2) added log_uid parameter

3) added string and hex-string matching support

4) add ipset matching support

5) enforce a 5 digit rule number to ensure consistency across the environment

6) use the rule number for deletions. this is to work around a bug in ip6tables
   where 'ip6tables -D [literal rule]' doesn't always succeed