Speed up source access knowing the output.

Use a binary search tree to associate output to input source files.
It replaces the O(N) search algorithm by a O(log(N)). However the
insertion is now O(log(N)) instead of O(1).

With this patch the test "HundredTargetsDepOnOneCommandWithManyDeps" no
longer timeout.

In debug mode: 44.92 sec -> 22.51 sec