Fix undef error

It seems `defaultto undef` is not allowed by puppet, and would throw an error if you tried to use the auto-authentication for AWS my last branch introduced. I have switched the default to `:undef` and am testing for that value to signal that the user wants to use auto-authentication. 

To ensure this wouldn't regress I added a spec on the `Puppet::Type` class and updated the `README.md` with a more realistic example that covers a common pitfall with puppet (that of needing a directory created before writing a file to it).

I've tested this on my own servers and the auto-authentication is working great now. Sorry about the bug!