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).



What would happen if we just remove the `unless` here all together?  Like this:

```
command_opts["instance_ids"] = determine_instance_ids(options)
```

We are basically doing this same check in the `determine_instance_ids` method anyway, so I think this is actually excessive.  The question is if having `command_opts` with a `nil` value for "instance_ids" is going to be a problem.  If not, then I think this check can be removed.