Thiaporphyrins: from building blocks to multiporphyrin arrays