Resolves #236 (Split OTCrypto files into interface and implementation)

See issue #236.