S3: Change backend libhdfs connections to use the appropriate scheme://authority

Currently, the backend assumes file paths are on the default FS.  Change
this so that the file path is used to infer the appropriate filesystem
to connect to.

Also moves the error checking inside of HdfsFsCache so that each
callsite doesn't need to handle the boiler plate error message
construction independently (and add some missing error handling cases).

Change-Id: I24bc4fbbe8f95b7e5b99ad7e2952b41f1d4c4173
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/5200
Tested-by: jenkins
Reviewed-by: Daniel Hecht <dhecht@cloudera.com>
(cherry picked from commit 9d3e2b619a80d1af595193e3cec47284b7b28eba)
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/5246