Execute recipes based off IP addresses

It adds the ability to execute recipes while passing in either a list of ip addresses or a by an EIP.

Rollback Plan
-------------
* To roll back this change, revert the merge with: `git revert -m 1 MERGE_SHA` and perform another deploy.

URLs
----
> Links to bug tickets or user stories.

QA Plan
-------
> Fill in scenarios below. Review [QA Best Practices](https://source.sportngin.com/page/show/1227795-qa-best-practices).



One thing I also try and do is put public methods near the top of a class.  It is a personal thing, but it allows the public facing interface of the class to be the first thing a new developer sees when looking at your code, which tends to be the thing they want to see more often then not.