Backported lowmemorykiller

Allows use of new oom_score_adj values, also provides backwards compatibility for depreciated oom_adj scores. Better optimization by not including any reserved memory. Won't kill kernel threads.