Mechanisms of domain closure in proteins