Startup code refactoring
Some startup code cleanup, mostly non-functional, done while assisting @berlincount in porting ML on 100D.
There is one functional change: CONFIG_MEMPATCH_CHECK should now run on all cameras, not just on cache hacked boot. However, it would only catch the error on cameras where the binary size is fixed (e.g. 512K or 640K); on cameras where BSS_END is adjusted dynamically, it doesn't know how far it can go in advance (this depends on how much Canon code is going to allocate from the malloc buffer).
Todo: just double-check if I didn't break anything.
I'd also like to cleanup the 6D boot process (the task override part). 100D has the same problem, and I believe we are close to finding a solution.
Long-term goal: switch back to the classic boot process for all cameras and simplify all those ifdef's from boot-hack.c.