ERT-700: Added line intersection method
ERT-700: Added UTIL_SAFE_CAST_HEADER to ecl_grid.h
ERT-700: Added grid->getBoundBox2D()
ERT-700: Added Polyline unzip() method
ERT-700: Added Polyline.__str__() method
ERT-700: Polyline.__eq__()
ERT-700: misc poly changes
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