Mr partitiontable warmup backport

Added enforcement to have a partition table before the actual job is started and found missing volatiles on the reducer implementations of the unittests (tests were mostly copied from castmapr where the volatile keyword was not needed).

This should fix:

#3065
#3289
We can move it when I'm back or anybody else does it. It is very very hard to pull / push here and it almost always takes me a day to do it but yes you might be right :D