Added encryption

IO interface now handled by abstract class.
New extension, CRYPT, IO is encrypted.
Regular IO is still available.
Lots of code enhancements.