Protein-protein interactions: A review of protein dimer structures