Support generic Hadoop Compatible Filesystem

This is a shortened version of PR #358, with focus on filesystem only.
why make mUri and HCFS_URI_KEY static? how about removing `static`?