ERT-700: Large fault block commit

This commit adds many features to the fault_block and fault_block_layer
code. In particular the new code includes:

  1. The fault_block and fault_block_layer classes are more tightly
     coupled, new blocks can only be created and destroyed from a
     fault_block_layer instance.

  2. The fault_block and fault_block_layer classes are integrated with
     the layer() class, this facilitates geometric operations on the
     fault blocks like:

       o The polygon enclosing the block.
       o The block neighbours
       o Visiting all (connected) cells in a block.

  3. The fault_block_layer_scan_keyword() function will perform a
     relabeling of the blocks in a fault_block_layer to ensure that all
     blocks are singly connected; it will also create blocks for regions
     corresponding to numerical zero in the input keyword.
ERT-700: RegionDefinition: split fault blocks
ERT-700: Very initial attempt of script to create regions