Allowing socket connections to vote, and broadcasting votes when the vote arrives

Shuffled some code around with the primary goal of letting socket-based connections place votes, and have votes be distributed whenever a new vote comes in.

Quick list of changes: