geo/surface/complex_fault:
geo/surface/complex_fault:

Refactored the way the surface projection mesh in computed, to allow
for sets of fault edges with a non-uniform length.

We found this bug when trying to run a calculation with the following
scenario:

A complex fault with
  - a top edge containing 18 points
  - a bottom edge containing 17 points

gem/oq-hazardlib,larsbutler/oq-hazardlib,larsbutler/oq-hazardlib,gem/oq-engine,g-weatherill/oq-hazardlib,g-weatherill/oq-hazardlib,gem/oq-engine,larsbutler/oq-hazardlib,rcgee/oq-hazardlib,g-weatherill/oq-hazardlib,mmpagani/oq-hazardlib,mmpagani/oq-hazardlib,gem/oq-engine,ROB-Seismology/oq-hazardlib,ROB-Seismology/oq-hazardlib,silviacanessa/oq-hazardlib,rcgee/oq-hazardlib,vup1120/oq-hazardlib,vup1120/oq-hazardlib,silviacanessa/oq-hazardlib,silviacanessa/oq-hazardlib,gem/oq-hazardlib,gem/oq-engine,gem/oq-hazardlib,ROB-Seismology/oq-hazardlib,ROB-Seismology/oq-hazardlib,gem/oq-engine,g-weatherill/oq-hazardlib,vup1120/oq-hazardlib,silviacanessa/oq-hazardlib,mmpagani/oq-hazardlib