replace Filament class with more generic Points3D class

* Points3D implements EDM and maximum distance pair methods
* Filaments class should be specialized to operate on a Points3D object
logging statements
implement CellJunction and GreedyPath classes

and move code over from filament parser