Add support for cross-assembler and cross-linker by using FindTargetProgramPath

Hi,

I have submitted bug 9777 with patch which basically applies same code which already works for netbsd for supporting cross-compilation by trying to invoke xxx-yyy-zzz-as and xxx-yyy-zzz-ld instead of host as and host ld.
My patch covers FreeBSD and Darwin, but probably it should be applied for most architectures.
For freebsd Roman already confirmed.

I will appreciate if somebody can take a look into that and (possibly) submit it.

Thanks,

Damjan