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
Fix a rubocop complaint and mock nodes
Fix tests. I'm not sure there's a nice way to test this change since there's no global node object
Merge pull request #24 from rackspace-cookbooks/hostip_martinb3

Don't emit a broken iptables rule from search data