Don't emit a broken iptables rule from search data

- Don't generate malformed iptables rules when search() results yield a node
with no ip address data
- Split out functionality of search/add methods into more granular methods
- Add way to inject node variable into helper library, so we can test library
without a chef run in progress
- Add .gitignore and chefingore files, standard files from template:
Guardfile, Rakefile, Gemfile, .rubocop.yml, .kitchen.yml