[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.
Yes. Its not too hard to come up with the code again if one wants to enhance / debug the test case.

I'll remove the comments.