Combinatorial methods in homogeneous and heterogeneous catalysis