Line3D class

This PR is a work in progress, contains a `base` class along with `Line3D` and `Segment3D` classes.Yet to add more methods and `Ray3D` class along with tests.
Why is this here? Why should anybody reimplement `__eq__` when they get it for free from the super class `Basic` or `Expr`?