(PUP-3887) Fix file serving checksums
Fix file serving with non-default checksums. Puppet agent and apply runs
that retrieve file sources now recieve the correct checksum from the
server class, instead of always defaulting to md5.
Separates file server option handling into path2instance and
path2instances helpers.
Updates direct_file_server_spec to use Puppet::Util.path_to_uri to get
cross-platform URIs.