Fix parsing in ssh_pubkeys

- Use the key argument in getent instead of parsing ourselves
- Use null for the input record separator to allow for a multi-line
  gecos so multiple pubkeys are possible.
Add pubkey commands

Add add_pubkey and del_pubkey for users to modify their pubkeys stored
in their AD object's gecos field so that users don't have to learn LDAP.