Split private_key and public_key, support :openssh format, correctly support pass phrases, add tests for private/public keys