Multi-configuration CMake generators such as Visual Studio or Xcode do not specify a build config at configure time, but let the user choose at build time. In these cases binaries go into bin/${Configuration} rather than bin/. Prior to this commit, check-lit would fail when using multi-configuration generators as it did not know how to resolve bin/${Configuration} in order to find tools such as FileCheck. This commit teaches it to resolve llvm_tools_dir within lit using the value specified with --param build_mode.
This commit supersedes D36212 after discussion in that review. Essentially we're just using the strategy seen elsewhere to deal with this issue (e.g. llvm/test/Unit )