Merge latest CyanogenMod (upstream) changes

I only compile-tested this, I have not flashed an image yet!