Computational Voting Theory: Game-Theoretic and Combinatorial Aspects