Computational Studies of Electron Transfer in Multi-Heme Proteins