Hibernate: move generate/verify signature or snapshot header

Move the code of generate/verify signature to snapshot and put the
signature to snapshot header. This is for support userspace hibernate
and also support any in kernel hibernate path.

Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
Hibernate: remove signature check from in kernel hibernate

Due to we direct check the signature in snapshot, so we removed
signature generate/verify logic from swap.c.

Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
Hibernate: free hash algorithm after digest freed

Move crypto_free_shash(tfm) to after kfree(digest), otherwise will get
NULL point excrption when resume.

Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
Hibernate: reload S4 sign key in SNAPSHOT_UNFREEZE

Reload S4 sign key (private key) in SNAPSHOT_UNFREEZE for next S4 cycle,
otherwise the userspace hibernate will only success one time after
system boot.

Signed-off-by: Lee, Chun-Yi <jlee@suse.com>