[doc/puppetfile] (GH-234) Document `forge` and `moduledir` settings
Merge pull request #236 from adrienthebo/doc/master/puppetfile-moduledir

[doc/puppetfile] (GH-234) Document `forge` and `moduledir` settings
Update CHANGELOG and version.rb for 1.3.5.
Merge branch '1.3.x'
Merge pull request #232 from adrienthebo/feature/master/deploy-environment-visitor

Feature/master/deploy environment visitor
[environment] Only update modules once per deploy

The original recursive module updating mechanism for new environments
was implemented inside of the environment, which broke encapsulation and
responsibility of concerns. One of the impacts of this is that if a new
environment was deployed and the `--puppetfile` flag was given, modules
for that environment would be updated twice. This generally would have
little effect aside from increasing the total entropy in the system but
was obnoxious.

This commit resolves this by entirely removing the responsibility of
updating modules from the environment and expecting the caller to handle
this. Because the calling code will know if the Puppetfile needs to be
updated and if the environment was created, it can deduplicate the
module update process.

This change is slightly backwards incompatible because it changes the
behavior of #sync. However the affected APIs are pretty far inside of
r10k, and the outward facing behavior of r10k does not change. This
should only impact developers that are hooking deep into the internals,
and I have no idea if there are any such developers.