Pass exception when wallet is corrupted or unreadable.
Switch exception wrapping to NSError.
Allow caller to handle errors by using NSError pointer.
Expose error codes for NSError the caller can handle.
#11: Provide error handling for unreadable wallets.