Changed Board::updateStructures to not spend time combining groups that it doesnt have to
Changed a while loop in Board::updateStructures to check whether a list is empty rather than the size of the list in order to increase performance
Removed the storing of groupsToDelete in Board::updateStructures in order to increase performance
Changed Board::decrementNeighborGroups to use a Group*[4] instead of a std::list<Group*> in order to increase performance