Added signature to encrypted messages and CryptoUtils improvement.

Added signature to encrypted messages.
Changed visibilities of methods in CryptoUtils.
Added log messages for (currently) unhandled exceptions.
This call uses the private key of the primary key for signing rather than using the sub-key for signing (as the javadoc says.