Clean up code - removed `then` usage
Change namespace to PuppetX

Upon further consideration, I should follow the newer conventions with
custom ruby extentions. Should this code ever make its way into core, it
will be in the proper 'Puppet' namespace. Until that day, 'PuppetX' is
where this will live.

This commit converts the 'Puppet' namespace to 'PuppetX' in the code.
This commit also includes 'PuppetX' being added to the README.
Correct typo

The variable 'accept_managed_file_content' was being used. However it
had been changed to 'accept_file_with_content' elsewhere.

This commit corrects that.
Refactor to properly resolve resource from catalog

Before this commit, this parameter was failing to handle the resource
reference correctly. I originally assume I would be receiving a
Puppet::Type::File but instead I was receiving a Puppet::Resource. Due
to parse time complications, the reference may not always resolve before
the catalog is done compiling. It should always resolve afterwards.
After further research and help from @adrienthebo I was able to
determine that it is safe to not resolve the resource until catalog
application time. This however does not solve the problem of making sure
the resource is in a catalog before sending to an agent, however, the
relationship metaparameters help with that. Eventually, I'd like to hook
into the 'finish' function called on every type. For now, this works
just fine. Also, this parameter does not create any resource
relationships, and never should. That being the case, one should always
still use the relationship parameters whenever they need a file to exist
before modifying it.

This commit adds an 'unmunge' function and now works in Puppet
manifests.