Au2S(x)/CdS nanorods by cation exchange: mechanistic insights into the competition between cation-exchange and metal ion reduction.