Update EncryptUtil with RSA and AES and SC

Add spongy castle provider, and add abstraction for returning encrypted
text.  Encrypted text is returned in the format
IV::CIPHER_KEY::CIPHER_TEXT, where CIPHER_KEY is encrypted using RSA and
the provided public key, and CIPHER_TEXT is encrypted using AES256 CBC
using the CIPHER_KEY(before encryption) and IV.