added a PathTrackingIFDSSolver which implements the keeping track of paths;
modified BiDiIFDSSolver such that it extends this solver; this is necessary because the BiDi-operations must occur before (!) the caching; otherwise the path constructions may miss paths