BootElf: Use unique_ptr<u8 []> instead of vectors.
BootUp: Clean up elf BootUp code.

 * The file already exsists, otherwise we wouldn't have gotten
   this far in the boot.
 * We have already checked if it's a Wii or GameCube elf,
   besides, it's too late to change our minds now anyway.
 * Remove risky code that might boot a completly diffrent
   executable from the default iso or DVD root folder in
   certain situations.
 * Don't call EmulatedBS2, it can never succeed as it knows
   nothing about booting elfs. Just call the SetupWiiMemory
   directly if needed.
ElfReader: Clean up elf loader code.

 * Don't claim to support any features we don't, like relocation
 * Actually zero out bss sections, as memory might not be already
   zeroed.
 * Deleted commented out code.
 * Removed GetPointer, updated to more modern interface methods.
 * Updated pointer types style from "u32 *x" to "u32* x"
IsWiiElf: Optimise inner loop.

Instead of swaping each word of the elf code section(s) looking
for a match to our pattern, we swap the pattern just once (at
compile  time) and test against our swapped pattern.