Refuse to write any caches to disk for channels which are encrypted.

Refusing to write to the cache will mean the backlog is cleared during reloads. However, refusing to write the cache also eliminates any situation where encrypted communications are stored unencrypted beyond the user’s own log location.

Design concept of new keychain setters:
Keychain items when called to their respective config set* methods are stored in their local _* variable, not actually written to the keychain immediately. This is done so seed configuration updates do not overwrite the keychain items until they are saved. Once updateConfig: is called, the keychain items are immediately written to the keychain and the temporary variable is discarded.

IRCChannel now has a setEncryptionKey: method which should be preferred over calling the method on its config directly. The new method will handle the actual setting, writing, and informing view of changes. Calling the set* method on the actual config will only write to the temporary variable and unless written at some point, will be discarded on application termination.
Force reset historic log on view destruction to remove file.