Hibernate: use RSA keys to generate/verify signature or snapshot image

Introduce a hibernate_s4.c file to query the key pair from EFI variables
and maintain key pair for check signature of S4 snapshot image. This
patch add the signature check to non-compress S4 path.

We also introduced 2 EFI variables to store the key to sign S4 image and
verify signature when S4 wake up. The names and GUID are:
  S4SignKey-fe141863-c070-478e-b8a3-878a5dc9ef21
  S4WakeKey-fe141863-c070-478e-b8a3-878a5dc9ef21

S4SignKey is used to pass the RSA private key that packaged by PKCS#8
format, kernel will read and parser it when system boot and update it
when S4 resume. EFI bootloader need gnerate a new private key for every
time we boot system.
S4WakeKey is used to pass the RSA public key that packaged by X.509
certificate, kernel will read and parser it for check the signature of
S4 snapshot image when S4 resume.

The follow-up patch will remove S4SignKey and S4WakeKey after load them
to kernel for avoid anyone can access it through efivarfs.

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