Moved domains infrastructure code to separate namespace.
Removed not moved code.
Removed unused usings.
Remplaced IComparable for distance with equality operators.
Markers should be internal
Overriden GetHashCode for distance.