Cleanup
Refactor: Simplified more vector math expressions

Also removed the v1() and v2() accessors of Line and HEdge (the more
expressive from() and to() method names are better).
Refactor|Partitioner: Minor cleanup refactorings
Refactor|Partitioner: Separated partition intercept list from the half-plane

Wrapping the partition and the list of intercepts into an object
with the associated semantics of object access has little practical
benefit. It makes the intercept list harder to manipulate and it
demands a robust API to manage them in such a manner.

The only benefit to this abstraction is that it ensure that the list
of intersections is always sorted. However, this can be achieved by
other more practical means (todo).
Partitioner: Cleanup
Refactor|Partitioner: Began dismantling the Intersections abstraction
Refactor|Partitioner: Completed dismantling Intersections
Refactor|Partitioner: Reimplemented near-intercept merging/gap hedge building algorithms

Replaced with a QList of presorted Intercepts.
Refactor|Partitioner: Sort partition intercepts at merge time

Analysis shows that always maintaining the order of the intercepts
has near zero time/complexity profit when compared to sorting them
at merge time.

The partition intercept list is now modeled with a QList, with the
sort and merge phase implemented in-place.

Looking forward, this revised design makes more sense if we decide
to multithread the node build process.
Fixed: mapdata-c++ > master branch merge errors