Extend the password hash format

Several new fields were added to support hash from /etc/shadow.

[Hash Method][Interation Count][Salt Size][Salt][hash]

Besides, the salt is hashed with the 8-bit char password instead of
an efi_char16_t password array.
Use crypt_r() to generate the password hash

1. We now use crypt_r() from glibc to generate the password hash.

2. The password length is changed to be compatible with the password
   hash from /etc/shadow.

3. The password hash structure was modified to be compatible with
   the change in MokManager.
Support SHA512-based crypt_r() hash
Add the new option to import root password hash