ENH: improve distanceSurface handling (issue #1012)
- 'signed' input parameter only mandatory for distance > 0. A distance <= 0 is always signed and the input parameter is ignored. - Use normal distance when distance == 0. This has no effect when the surface has no open edges, but improves on rounding issues around the zero crossing when the surface has open edges. This may still need future revisiting.