[FLINK-1266] Generalize DistributedFileSystem implementation

to HadoopFileSystem wrapper, which supports all subclasses of `org.apache.hadoop.fs.FileSystem`.
This allows us to let users use all file systems with support for HDFS.

The change has been tested with Tachyon, Google Cloud Storage Hadoop Adapter and HDFS. (I also contributed again to Tachyon)

The change also cleans up the Hadoop dependency exclusions.
I also found a nice little "bug" in the Instance class.
Could we move the commented lines here?