A peer-to-peer network (like GNUtella) consists of individual
nodes that are connected to the rest of the network through
one or more neighboring nodes.
In a simplified model, each node has only one neighbor and
a list of files that it can serve.
Every node has a unique number representing its address.

Develop the function P2P-search.
The function consumes the name of file and a P2P-network
and returns the address of the first node that
is discovered to have the
file or false if the file does not exist anywhere within
the network.

Optional:
A copyright enforcement group wants to collect the addresses of all
nodes on a P2P-Network that are hosting a particular file.
Develop the function P2P-search-all,
which is like P2P-search except that
it returns the list of addresses of all nodes having a copy
of the file being searched for.