Support generic Hadoop Compatible Filesystem

This is a shortened version of PR #358, with focus on filesystem only.
Can we do something like abstract factory or strategy patterns to do different Configuration setup for different types of HCFS?

Having bunch of if-else tests check for execution is prone to error.