For now the vote maps are typed, there is one for blocks and one for proofs.
This diff creates a new structure that maps a std::variant so that any kind of type can be added to it. It will be used to factorized and simplify the code when we add transactions to the polls.
This structure is currently unused outside of its unit test.