added a TODO
fixed visibility issues in the roles, made night have a way to end
more visibility updates
Threads have actual names now (instead of "Thread-1", "Thread-2", ...)
added framework to check if game is over after every state swap
TODO--; addAll() used instead of individually adding each role to the list of roles
fixed hasWon for mafiateam
fixed bug where people could vote after they died
TODOs in almost every class D:
cleaned up vote tracker a little bit, fixed bug where no lynch votes weren't displayed
added getChannel() method to IOThread, leading to the unhardcoding of the channel name

also made a little framework for new swapState() methods
cleaned up a bunch of TODOs
fixed bug where dead people could still vote for nolynch, made mafia night
action actually resolve, started actually using inheritance
privatized more variables, updated most gameplay classes to stop accessing variables directly... hopefully we can not fall back into that pattern