Add ssh::key (places private id_rsa key)
Remove ssh::key type param
Add ssh::authorized_key - simple wrapper around ssh_authorized_key making sure our ssh is installed
Add ssh::pair (called for now) this resource should be only realized on puppetmaster as it requires local command execution and file read
Add base ssh::auth::id

- it exports ssh::pair
- then realizes ssh::key (private) - after ssh::keymaster realizes ssh::pair and exports ssh::key (needs few cycles)
Fix param names
Use proper realize for exported resources (previous worked only on virtual ones)
Add ssh::auth::grant importing ssh::authorized_key for specified user
Merge branch 'ssh-keys' into issue-285
Add keyserver to realize all ssh::pairs
Fully implement ssh::auth module

- use custom function to generate ssk key (also simplifies manifest)
- store keys in /var/lib/puppet for permissions reasons
- use fqdn instead of certname (which is not a fact)
- use title instead of name for exported resources realization
Add ssh::auth::keymaster to puppet::master
Fix classname
Simplify keys generation
Allow adding host for ssh::key (private key)
Remove duplicate module ssh::id (in favor of ssh::key/ssh::authorized_key)
Add ssh::knownhost to streamline most system ssh keys usages
Use newly create ssh::knownhost for github::knownhost
Add $hosts param for ssh::auth::grant to allow setting exported hosts, realized (added to knowhosts) on ssh::auth::id machine (using md5 as tag for valid puppet)
Set user for creating .ssh dir