Interactions between the termini of lumen enzymes and shell proteins mediate enzyme encapsulation into bacterial microcompartments