(PUP-2583) mode attribute of file type does not behave like chmod when given X

When changing permissions with puppet file type and using symbolic permissions e.g: g+rX, puppet consideres everything as directory. Which is wrong, because you can specify different set of permissions for directory and file (triggered by case of the letter you use).

Problem originates in ruby && and "and" operator precedence. Which was incorrectly used in this case.
(PUP-2583) Add example to test for +X mode changes in file types.

Adding an example to test applying mode +X to files.  For files, a mode
change of +X changes the requested executable bit only if there is
already an executable bit set in the permissions.
(maint) Remove unnecessary setting of modulepath from face help spec

The integration spec checking help output for the faces was setting
modulepath directly in the body of an RSpec context block.  This caused
modulepath to be set on test file load.  Normally, this is not an issue,
since most specs are not sensitive to the Puppet modulepath setting, and
the test_helper clears all settings in its after_each_test hook.
However, a recent run of specs on Solaris master just happened to run
with the very first spec being sensitive to modulepath
(spec/integration/directory_environments_spec.rb) which then failed.
Fortunately, the current version of puppet no longer requires this early
setting of modulepath for the documentation spec to run, so I'm just
removing it here.
Merge branch 'pr/2728'

* pr/2728:
  (PUP-2583) Add example to test for +X mode changes in file types.
  (PUP-2583) mode attribute of file type does not behave like chmod when given X

This closes GH-2728.
Merge branch 'master' of https://github.com/puppetlabs/puppet