Use MemAvailable from meminfo if possible

Use the functionality from newer kernels if available. Basically, the
free+buffer+cache metric is a massive hack and not accurate anyways
(e.g., not all cache can be swapped out and kernel accounting can change
whenever). Kernels 3.14 and newer have MemAvailable in meminfo which is
more accurate; use it if possible.