intelli_plug: Fixes for suspend/resume work rare issues

* It is observed that suspend_defer_time is not
  working as required. It should suspend as soon as defer
  time is completed. Therefore, make use of separate freezable
  workqueue to do this smoothly.
* Organize sequence for initiating and cancelling work.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

Dorimanx:
Code style mods and cleanups.