lazy load the puppet and puppet/face as it creates issues on windows

This is a refactor of the PR #24.  I wasn't receiving notifications and was unable to refactor and resubmit.  Please see the PR #24 for discussion.

  * will also increase performance during intial loading
  * allows the user to not have to load puppet if they don't validate a manifest