Write loaded data in 32-bit chunks
Retry MMC init commands immediately

Tests show that a certain number of attempts is required and that
number does not go down with longer delays between attempts. Therefore
the fastest boot is achieved by retrying immediately.

This reduces the time the boot loader takes from 3.8 to 2.2 seconds.
Clean up number-of-block argument to mmc_block_read()

Using size_t as a type for this argument doesn't really make sense,
since we're not dealing with the size of an object in memory.
Also using a longer name makes it more clear what the argument is for.
Try to load as many consecutive sectors as possible

Since every MMC command has a significant overhead, loading more data
at once gives a big speed boost. The boot time was reduced by almost
two seconds when using 1-sector clusters (worst case, but also our
current default).
Load kernel into kseg1 instead of kseg0

This simplifies cache management. There is a tiny performance
advantage, but it was less than 1 ms when I measured it. It also
reduces the footprint of code though, so I think it's useful.