(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.
(CFACT-19) Add packaging and specs for cfacter gem.

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.