Enzyme promiscuity: a mechanistic and evolutionary perspective.