WebHDFS.write has trouble with StringIO/BytesIO types
It hangs for a while and then gives `ConnectionError: ('Connection aborted.', BadStatusLine("''",))`.  As a temporary workaround, I will get a string version of the data by calling `getvalue` before transmitting the data.  This shouldn't cause too many surprises, bc if the user wants to write a file, they can just specify the path.  But this should be fixed.  It appears the problem is in the python `requests` library.

diff --git a/ibis/filesystems.py b/ibis/filesystems.py
index 90d7e953ba..d61e2272cf 100644
--- a/ibis/filesystems.py
+++ b/ibis/filesystems.py
@@ -327,11 +327,9 @@ class WebHDFS(HDFS):
             else:
                 if verbose:
                     self.log('Writing buffer to HDFS {0}'.format(hdfs_path))
-                # TODO: eliminate the .getvalue() call to support general
-                # handle types
                 resource.seek(0)
-                self.client.write(hdfs_path, resource.read(),
-                                  overwrite=overwrite, **kwargs)
+                self.client.write(hdfs_path, resource, overwrite=overwrite,
+                                  **kwargs)
 
     @implements(HDFS.get)
     def get(self, hdfs_path, local_path, overwrite=False, verbose=None):
['ibis/filesystems.py']