Added discovery of nodes by Chef search

Adds a `search_for_nodes()` helper which searches for other servers.

Defaults to role search within the same chef_environment, but allows for
more complex queries.

Also defaults to smart interface selection, using
`cloud.local_ipv4` or `ipaddress` attributes as appropriate, but also
allows for an override.

Adds a search_discovery recipe which disables multicast discovery and
populates the unicast hosts with the results of `search_for_nodes()`.

Closes #40
Closes #116