Various refactorings

Renamed Planar.permuted to Planar.permute
Removed optional argument "tolerance" from Geometry.intersection method,
but kept it on `Geometry.intersects`

Various refactorings in lib/src/geometry/linestring in clean up process.
Mainly readablility improvements

compareDoubles now only checks if tolerance is >= 0.0, to enable
strict equality checking using equalTo
Continued refactoring
Added Linestring.insert method

Linestring.insert method inserts a Nodal geometry into a specified
position in the list.

Also performed various refactorings, such as renaming 'Planar.permuted'
to 'permute'
Union tessels

If two tessels intersect at a point, they are treated as disjoint
during union.