First round of lollipop updates

I take no responsibility for these updates whatsoever, they may
or may not work. All I can say is they're a direct port from
AOSP's hammerhead folder for lollipop