driver: always merge objects when possible
This patch makes the driver always merge objects with ld -r
when possible, and only fall back to calling ar -L
when merge objects command is unavailable. This completely reverts !8887 (closed) and !12313 (closed), given more fixes in Cabal seems to be needed to avoid breaking certain configurations and the maintainence cost is exceeding the behefits in this case :/