function getTempLocations(config){
  const contractsRoot = path.parse(config.contractsDir).dir
  const cwd = config.workingDir;
  const contractsDirName = config.coverageContractsTemp || '.coverage_contracts';
  const artifactsDirName = config.temp || '.coverage_artifacts';

  return {
    tempContractsDir: path.join(contractsRoot, contractsDirName),
    tempArtifactsDir: path.join(cwd, artifactsDirName)
  }
}
Returns a pair of canonically named temporary directory paths for contracts
and artifacts. Instrumented assets can be written & compiled to these.
Then the unit tests can be run, consuming them as sources.
@param  {TruffleConfig} config
@return {Object}               temp paths