Intramolecular electron transfer in viologen-linked porphyrins (p-PCnV(R) and p-PCnQ(R))