steam-crypt: handle erroneous libgcrypt calls

Currently, errors produced by many of the libgcrypt calls are simply
ignored. This can lead to segmentation faults within libgcrypt as the
plugin will continue to operate with libgcrypt and make other library
calls with invalid pointers. All libgcrypt calls should be checked for
errors and/or pointers which are invalid.

This addresses the issue of segmentation faults occurring with older
libgcrypt versions during the authentication phase.
steam-crypt: fixed libgcrypt integer parsing

Currently, the modulus, exponent, and data are treated as "standard"
integers, which are supposed to be signed values. However, these three
data values do not contain any sort of signing. They should be treated
as unsigned values, which prevents any sort of special processing when
they are being parsed.

This addresses the issue of failing authentication attempts due to the
password not being encrypted correctly.