sched: Set multicore power-saving to 2

This attempts to place load on cpu0 instead of both cpus, allowing cpu1
to stay in suspend for a longer period of time. According to a presentation
by Linaro, http://elinux.org/images/1/1d/Comparing_Power_Saving_Techniques_For_Multicore_ARM_Platforms.pdf,
this can save quite a bit of power without compromising smoothness.
Let's try this out.

Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>
Makefile: Add some optimizations flags to KBUILD and LD

Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>
Fix all GCC optimization errors

* *Maybe* uninitialized variables covered with uninitialized_var().
  I'm pretty sure they are all initialized at some point, afteR
  taking a quick at the code.
* Array subscripts below/above array bounds is covered with checks.
  REALLY unnecessary and costly but needed to keep GCC happy. :(

Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>