mm: Dynamic management of dirty page writebacks [Christopher83]

This feature allows to have two different intervals for dirty page
writebacks and to dynamically manage them when the system has been
resumed (it's active) or when has been suspended.

Three new procfs parameters are exposed inside /proc/sys/vm path:
- dynamic_dirty_writeback is the activation status of this feature,
  set 1 to enable it, set 0 to disable it and use the standard behaviour
- dirty_writeback_active_centisecs is the interval for the dirty page
  writebacks when the system is active (screen on)
- dirty_writeback_suspend_centisecs is the interval for the dirty page
  writebacks when the system is suspended (screen off)

This feature is in part inspired on Francisco Franco's patch:
franciscofranco/mako@34d7954

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
fs/dcache.c: adaptive vfs_cache_pressure on suspend / resume [dorimanx]

Low vfs_cache pressure values save battery while idle, while
a low value also causes stutter with longer up times.
Big thanks to @temasek for sharing
config: enable DYNAMIC_PAGE_WRITEBACK
config: UKSM > KSM. UKSM causing long boot time (+10 sec)