(PUP-2732) Restrict Posix exec tests to POSIX env

 - Instead of trying to simulate a POSIX environment on the Windows for
   the sake of tests against a provider that never runs on Windows,
   exclude the tests when Puppet.features.posix? is not true.
 - Given that these tests will no longer execute on Windows, the usage
   of expand_path is no longer necessary, nor are any of the
   Puppet.features.microsoft_windows? guards
(PUP-2918) Clarify missing Modulefile error

Prior to this commit, when building a module without a Modulefile or metadata.json,
the builder would blow up with a cryptic 'Unable to find module root at DIRECTORY'
It's not entirely clear what that means to an end user.
This commit clarifies that metadata.json or a Modulefile are what need to be found
at the module root. Also removes some duplicated logic for checking module root.
(PUP-2078) Clarify --force behavior

Prior to this commit it was unclear that --force also implies --ignore-dependencies.
This commit clarifies that --force does also imply --ignore-dependencies.
(PUP-2948) enable rubocop for travisCI

- Add rubocop step in travis CI
- Ensure rubocop is present in test group
- Ensure rubocop is not added for ruby 1.8