More MBC Updates

Added rambank switching for mbc5. cleaned up some code in the rest of the mbc. renamed scratchpad to eram. temporarily changed uint8 *eram to uint8 eram[0x020000] (size for ram in mbc5). I'll try to change it so memory for eram is allocated after parsing header. Pokemon Azul and Amarillo still seg faulting probably due to something in the mbc5 code. I'll write the code for mbc3 and see if gold seg faults the same way.