Store plClient password using platform-specific credential storage.

Add an abstracted password-storage system, and utilize it in plClient to replace the drive-based obfuscation.
Crazy casting alert