MMU: properly check MEM1 range on Gamecube games

Fixes at the very least Rogue Squadron II crashes.

Note to do this I refactored loads slightly so that addresses have to be a register or immediate, which should be more consistent anyways.
You have called this function CheckIfRamAddress. 

This test checks if the address is not a hardware address, which hardly lives up to the name of the function. So this function only does what it says for gamecube mmu games.

At the very least, put comments here justifying the relaxed checks for non-mmu games (It is assumed they will never do an invalid memory access) and the lack of a correct code path for wii-mmu games (Much more complex check, no games to test with?)