The full-length cytochrome P450 enzyme CYP102A1 dimerizes at its reductase domains and has flexible heme domains for efficient catalysis