Introducing voting functionality.

- Interfaces for election algorithms and vote generation.
- Implementations for MJRTY election algorithm and hashCode()-based
  vote generation.
Introducing merging functionality.

- New interface for merging algorithms.
- New implementations for fixed- and voting-based mergers.
- Refactored MergingFuture uses a merger.
Cosmetic changes to make CodeStyle happy.