(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.
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.
Updating README for instructions on how to build, test, and install the
gem.
(maint) Use Apache 2.0 license.

Adding a LICENSE file like we have for other Puppet Labs projects.

cfacter is now under the Apache 2.0 License.