(PUP-1892) File resources do not work with fileservers that are not the current puppetmaster.

the source parameter makes the 'uri' method private; assumably for security, the actual result is that
noone can get the full URI from the source param. The end result is that when collecting the source data
the file_content class uses full_path instead, which gets magically completed to use the puppetmaster.

If your fileserver is in fact some other remote host, that data is lost. This change makes 'uri' public
and adjusts the content handler so that it properly delivers either a URI as a string, or a
full path without leading slash (which is what the previous state was.)
(maint) Format according to norms

This fixes up a few formatting errors and converts the new (as well as
the old) uses of lambda {}.should to be the newer expect {}.to. It also
fixes a few tests that turned out to be making incorrect assertions. The
block to raise_error doesn't cause anything to fail if it returns false.
(PUP-1892) Remove dead code for missing uri

There is never a case where the uri method will return a value that is
nil. In fact, if uri ever was nil, then full_path would also be nil,
since the full_path is based on the uri value. This removes this dead
code path.
Merge branch 'dreamlibrarian-fix/file_content-remote-fileserver'

* dreamlibrarian-fix/file_content-remote-fileserver:
  (PUP-1892) Remove dead code for missing uri
  (maint) Format according to norms
  (PUP-1892) File resources do not work with fileservers that are not the current puppetmaster.