Organise "all possible voting schemes" I’m currently reading 1, 2, and 3.
Wikipedia lists some of  the better-known voting schemes (Borda count, approval voting, run-offs, …), a few of which have actually been tried in reality (e.g., the American Economic Association chose its president using approval voting).

Have "all possible voting schemes" been considered? Is the space of all possible voting schemes covered by a familiar mathematical object, like linear maps?
 A: The first issue is that "all possible voting schemes" is a function space, and function spaces are usually pretty large. The second is that the domain and codomain are a little bit fuzzy.
Arrow defined a voting system as a function from a set of preference orders held by voters to a social preference order. Approval voting showed a situation where the translation from preference orders to ballots was not predetermined, and something reasonably called a "voting system" was defined in terms of ballots. 
This introduced a little complexity into the problem and no end of angry arguments (as you may have suspected in reading the first link): If you consider a process of $\{preferences\} \mapsto \{ballots\} \mapsto outcome$, approval voting frequently violates Arrow's version of monotonicity and IIA due to framing effects in the $\{preferences\} \mapsto \{ballots\}$ stage, but it can satisfy some similar criteria that are defined strictly in terms of functions that take $\{ballots\} \mapsto outcome$.
Pragmatically, voting systems don't always have rank-ordered outcomes either; they may have just one unique winner, or a set of two undifferentiated winners. Arrow chose rank-ordered outcomes as a more general case, but it's still not quite the same. So most generally, we're looking at functions whose domain is a set of expressions of opinions about alternatives and which have an output of some ordering or partial ordering of alternatives.
In mathematical terms, this is a ludicrously large space.
All work that seeks to systematically classify multiple voting systems within the same framework narrows the scope, and almost all voting systems that people advocate for fall into three categories:


*

*Positional methods, such as a plurality vote or Borda count, where a preference order is translated to a vector of points.

*Multiple positional methods, such as an approval vote, cumulative vote, or range vote, where each voter chooses from a set of possible positional ballots to cast.

*Multi-stage (runoff) versions of the above two methods. For instant runoffs, there's a determinate rule for going from a ballot over n candidates to a ballot over only k candidates.


There's a lot of extant work out there that analyze all positional methods within a single framework. You can do this geometrically or with piles of linear algebra. Extending that analysis to multiple positional methods adds a dimension of complexity, as does extending it to multi-stage methods, so work on those is more limited. 
A: This falls very short of encompassing the "whole set of voting rules" but a lot of the most common rules fall within the class of scoring rules: https://plato.stanford.edu/entries/voting-methods/#RankMethScorRuleMultStagMeth. The class for example includes both Borda and Approval and allows to connect the two into a somewhat unified framework.
