Encryption working (sorta)

Internally you can make exchanges and register encryption types.
However, the default is not setup and encryption is not yet fully
possible and cleanly setup. Next commit will likely include full
functionality.