Kill task closest in size to memory needed to free

Instead of killing the largest available task, kill the task closest in size to the amount of memory we actually need to free to satisfy the minfree threshold.

Thanks to kodos96, ytt3r & DerTeufel