Support generic Hadoop Compatible Filesystem

This is a shortened version of PR #358, with focus on filesystem only.
I still don't get why we need this though...