(PUP-2885) Remove timeout around entire plugin sync operation

This removes the timeout around the entire plugin sync. With the
default setting of configtimeout to 2min, this means that the entire
sync must be performed within this time. This conflicts with the
individual timeouts for connecting and reading and may cause that a
perfectly valid operation is timed out in the middle of productive work.
(PUP-2885) Change find_all to each

There is no need to make a find_all() call here since we are not doing
anything with the results. Results are added manually into the
previously declared array 'files' instead. Changing the find_all() to
each() to make it a little more clear.
Merge pull request #2853 from hlindberg/PUP-2885_dueling-timeouts

(PUP-2885) Remove timeout around entire plugin sync operation
(maint) Remove duplicate rest-client entry and add explantory comment
(PUP-2626) Allow module paths in file()

This modifies the file() function to accept module paths (like the
template() function) as well as fully qualified paths.

This makes it possible for modules that use the file() function
to be more portable, instead of being tied to a specific puppet
server configuration.

Example

with directory structure:

  /etc/puppet/modules/example
  ├── files
  │   └──file.ext
  ├── manifests
  │   └──init.pp
  └── templates
      └──template.erb

When the module path for files can be used instead of the absolute
path:

  file('example/file.ext') returns the same as
  file('/etc/puppet/modules/example/files/file.ext').

This is supposed to be like how template does module paths, where:

  template('example/template.erb') returns the same as
  template('/etc/puppet/modules/example/templates/template.erb')
(PUP-2626) Collapse file finding functions

The file finding function was split up in the same pattern as the
template finding function. This isn't really needed since the logic is
much simpler.
(maint) Update template to follow file methods

The template finding and file finding logic is very similar.
(maint) Clarify and correct method docs.

The method docs were a little bit wrong about what kinds of values will
be returned when. This tries to clean that up a bit and explain how the
methods work.
(PUP-2626) Update file() docs for new selector system

The docs for file() didn't use to say much about how it operated. This
updates the docs so that it makes clear what contents it will return and
how the given filenames are interpreted.
(maint) Remove pointless test

Testing that the function exists isn't really needed since the later
tests that actually use the function will find that fairly quickly.
Merge branch 'pr/2678'

* pr/2678:
  (maint) Remove pointless test
  (PUP-2626) Update file() docs for new selector system
  (maint) Clarify and correct method docs.
  (maint) Update template to follow file methods
  (PUP-2626) Collapse file finding functions
  (PUP-2626) Allow module paths in file()

Closes #2678