Implement a HDFS filesystem using the WebHDFS API

I've implemented a PyFS class that supports all methods, via the speedy WebHDFS API available in Hadoop 2. This can be a preferable alternative to using some of the available C libraries for interacting with HDFS or using a subprocess to `hadoop fs -ls /` and parse the output which can be very slow.

It's still WIP and needs more testing, I don't think it fully passes all of the PyFS unit tests yet, but it will do soon enough. Thoughts welcome...
I think that you should take `client` as an optional argument to the constructor. That way when you can specify some mock client to test recursion behaviour, for example, as it's not so dependant on the behaviour of what the client is returning. I've found this to be a really nice pattern elsewhere.