all_boards: Use ceil_div
mpi/cypher: Estimate how unequal random block ownership assignment will be

It doesn't look two bad: roughly 10-20% deviation for the final run.
mpi: Factor to support different partitioning schemes

The currently implemented schemes are "simple" (the old contiguous
scheme) and "random", which distributes lines and blocks randomly.
mpi: Gather load balancing statistics