Optimize|World|ContactBlockmap|Client: Flag spread ContactBlockmap cells with a separate bit array

Storing the "already spread" state for blockmap for a cell within the
data for the cell itself is less efficient -- it means looking up the
cell each time (which, means a Gridmap tree traversal).

Todo: With this info/state now separate it, should mean a "regular"
Blockmap paired with an independent spreading algorithm can be used.