fix mixed communication: seq->par use commSeq, par->seq use commPar
add directed version communicate<FROM,TO, DH,DT>(data,iftype,dir)