Firewall class manifests

Manifests for managing the required packages and services on supported Linux
operating systems. These will be required for persistence.
Release 0.1.1

Signed-off-by: Ken Barber <ken@bob.sh>
Missing modulefile change

Signed-off-by: Ken Barber <ken@bob.sh>
Firewall and firewallchain persistence

Call the necessary commands from the provider to persist rules between
reboots. Tested on the following distros:

- CentOS 5.8
- CentOS 6.3
- Ubuntu 10.04
- Ubuntu 12.04
- Debian 6

Cavaets:

- Persistence may fail on the first run if Firewall resources are actioned
  before the Package resource.
- Older iptables-persistent doesn't support the restoration of ip6tables.
- ebtables cannot be restored.
Merge pull request #133 from dcarley/native_persistence

Native persistence
(GH-134) Autorequire iptables related packages

autorequires from firewall and firewallchain resources to iptables and
iptables-persistent packages, when the appropriate provider is selected and
the packages are managed in the catalog. This will prevent failed rule
creation and persistence on fresh nodes where the packages may not be
pre-installed.
(GH-134) Refer to new classes in documentation.
Merge pull request #136 from dcarley/134-autorequire_packages

(GH-134) Autorequire iptables related packages
Typo in #persist_iptables OS normalisation

Debian is upstream of Ubuntu. Not the other way around. Would have affected
users of Facter <1.6.2 which doesn't have osfamily. Discovered while writing
tests, yey tests.
Tests for #persist_iptables

Basic coverage of protocol and OS detection. Including older and newer
Debian versions. Nearly all based on expectations since there aren't any
return values.
(GH-129) Replace errant return in autoreq block

It's not valid to use `return` within a block. We could use `next []`,
however it's probably better form to just always return the array, whether
it's populated or not. This will stop the error:

    err: Got an uncaught exception of type LocalJumpError: unexpected return

When one of the listed providers isn't selected. Which is suitable, because
this autorequire won't be suitable to any other future providers anyway.
Merge pull request #138 from dcarley/129-autoreq_bad_return

(GH-129) Replace errant return in autoreq block
Merge pull request #137 from dcarley/persist_iptables_tests

Tests for #persist_iptables
Release 0.2.0

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

* ticket/master/release_020:
  Release 0.2.0
Fix links to forge and github issues in README

Signed-off-by: Ken Barber <ken@bob.sh>
(GH-139) Throw away STDERR from dpkg-query in Fact

Newer versions of dpkg-query, as of Ubuntu 12.10, will make noise on STDERR
if the queried package isn't currently installed. Facter's `exec()` outputs
this without giving us a chance to catch it.

Pipe STDERR to `/dev/null` so that it's not seen by the end-user. STDOUT
will still be `nil` if the package isn't installed. It doesn't seem
reasonable to spec test for this without reaching deep into Facter, so I'm
not going to.
Update README to be consistent with module documentation template
Merge pull request #140 from laurenrother/readme_cleanup

Update README to be consistent with module documentation template
Fix failing spec tests, due to dpkg change in iptables_persistent_version_spec

Signed-off-by: Ken Barber <ken@bob.sh>