Create LeaderElectionProtocol.c

For this project we will implement a distributive leader selection protocol which we will call Election. 
Implement a program (a client) which will connect to other clients (peers). This networked group of clients will select a leader in a distributive fashion (i.e. there is no central authority that decides who the leader will be). 
The basic idea is simple. Each client will be assigned (we will see how later) a unique numeric token. Once a client knows its token, it broadcasts its token and identifying information to all its peers. 
Any client, on receiving a broadcast message, in turn forwards this message to all its peers except the peer that sent it that message. In this manner, a connected network “floods” with every client’s token and at some points in time, all clients will know the tokens of all peers on the entire network. 
Once all the token values are known, each client orders the tokens in decreasing order of magnitude and declares the peer with the highest value token as the leader. Once the leader is known, all clients send a salutary message to the leader.