(CFACT-30) Implement SSH facts.

Implementing the following facts on Linux and OSX:

- sshdsakey
- sshrsakey
- sshecdsakey
- sshed25519key
- sshfp_dsa
- sshfp_rsa
- sshfp_ecdsa
- sshfp_ed25519
(maint) Fix Cumulus Linux support to match ruby facter.

Fixing implementation of Cumulus Linux support to match what we do in
ruby facter.
Merge pull request #39 from peterhuene/fix/cumulus

(maint) Fix Cumulus Linux support to match ruby facter.
Merge pull request #38 from peterhuene/facts/ssh

(CFACT-30) Implement SSH facts.
(maint) Fix r-value overloads of string utility functions.

The r-value overloads were returning an l-value reference which meant that despite being used, copy assignment/construction would still occur.  Fixing these functions to return an r-value reference.
(CFACT-19) Implement cfacter gem.

Re-implementing the cfacter gem.
Removing JSON dependency on the gem since we now use callbacks to populate a hash instead of emitting and parsing a JSON string.
Setting cfacter to use the Apache 2.0 License, like other Puppet Labs projects.
Adding Rakefile to gem directory with tasks for packaging and installing the gem.
Adding tasks for running specs.
Adding specs that do some basic validation of the CFacter gem.