Charge-assisted N–H(+)···O(−) and O–H···O(−) hydrogen bonds control the supramolecular aggregation of ferrocenedicarboxylic acid and bis-amidines