Fix error reporting for insane hostnames.

If you put some really silly values in (e.g. /) into hostnames then
the error message s super super cryptic.

This patch fixes that, so it's at least obvious what / where / why it's
failing if you use --trace --debug
Initial start on rspec-system tests

This patch includes system tests using rspec-system. You can try these out
with:

    rake spec:system

Consult the docs in the README.md for details on how to run tests on
different OS variants.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge branch 'rspec-system'

* rspec-system:
  Initial start on rspec-system tests
Use latest rspec-system gem

Signed-off-by: Ken Barber <ken@bob.sh>
(20096) Support systemd on Fedora 15 and up

Add a check to see if running Fedora 15 in order to use init scripts
provided by systemd. This adds compatibility for systemd on Fedora,
which currently returns an incorrect failure message when persisting
rules.
Moved some of the puppet setup stuff in system tests to rspec-system-puppet

Signed-off-by: Ken Barber <ken@bob.sh>
Merge branch 'rspec-system-puppet'

* rspec-system-puppet:
  Moved some of the puppet setup stuff in system tests to rspec-system-puppet
Get rid of examples it isn't being maintained and it belongs in docs

I think the expectation that people should drop to looking at code for examples
is wrong anyway, we should express examples through documentation if we can.

Signed-off-by: Ken Barber <ken@bob.sh>
Support for new prefabs from rspec-system

Signed-off-by: Ken Barber <ken@bob.sh>
Use rspec-system-puppet 0.3.0

Signed-off-by: Ken Barber <ken@bob.sh>
Fix for rspec-system-puppet 0.3.x

Signed-off-by: Ken Barber <ken@bob.sh>
Update to also be for destination
Merge pull request #155 from bobtfish/error_reporting_fix

Error reporting fix
(#20125) Add archlinux firewall class and unit test
(#20125) Use PATH to find (ip|ip6)tables for (ip|ip6)tables provider
(#20125) Use PATH to find (ip|ip6|eb)tables for chain provider
(#20125) Add persistence support for Archlinux platform

This only works with facter 1.7.0-rc1 and up because os_key isn't
properly defined in facter 1.6.18 on Archlinux (it's set to Linux).
Merge branch '20125'

* 20125:
  (#20125) Add persistence support for Archlinux platform
  (#20125) Use PATH to find (ip|ip6|eb)tables for chain provider
  (#20125) Use PATH to find (ip|ip6)tables for (ip|ip6)tables provider
  (#20125) Add archlinux firewall class and unit test
Add an absolute path to iptables to make system tests pass

Signed-off-by: Ken Barber <ken@bob.sh>
Merge branch 'absolute_path_to_iptables_for_tests'

* absolute_path_to_iptables_for_tests:
  Add an absolute path to iptables to make system tests pass