Assigns every node in the input network a column number,
such that nodes in the same layer will be labeled with
increasing indices in left to right order.
In addition, a node U is assigned to a column such that
2 * MinColumnSpace(U) + 1 columns are "allocated" to node U,
and no two nodes have overlapping "allocations" of columns.
All consecutive layout operations will preserve or update
the columns.
This method can be overridden to customize the layout algorithm.
This method must not change the layer of any existing node, nor add or remove any layers.