Add timeout to interleaved bidirectional weight heuristic

It has been observed that setting maxWalkDistance too high causes problems inside the interleaved bidirectional weight heuristic. While this probably means there's a bug in there that needs to be fixed, it also exposed the problem that the initialization of the heuristic is implemented without any kind of timeout. This pull request adds such a timeout to the interleaved bidirectional weight heuristic. Presumably, the other heuristics don't need such a timeout, although the interface to add one is now in place.