(PUP-3357) purge unnamed ssh keys

There was a regression when a user tried to purge `ssh_authorized_keys` resources (through `user` resources), more than one of which had no comment in the `authorized_keys` file. Puppet would generate resources with a name of `""` and those would clash as multiple declarations.

Generate implicit names for such keys, used by both the `user` type and `ssh_authorized_keys` provider. They are not truly unique, but follow a distinct pattern that makes collision less likely.
Should this also be called `name_index` for consistency purposes?