Use the toolchain as a variant dimension whenever multiple tool chains are defined

- So even if only 1 toolchain is available, if multiple are defined then the tool chain
  name will form part of the task names and binary paths.
Fix samples for single default tool chain

- Use type comparison instead of instance comparison when applying toolchain-specific configuration
- Added breaking change to release notes