Protein Dimerization and Oligomerization in Biology