Simpler Constructor for CrossingIndex

You can directly pass the segment parameters to the constructor.
Reorganized Readers

Added marker interface for all readers.
Utilizing Constraint Type

Evaluating constraint type as reported in log file
instead of counting the number of paths.
Directed Graph
PathValidator Edges
Edge as Source-Target Tuple instead of ID