The inevitable breakup...

As a prerequisite for conditional compilation to support multiple versions of libhdfs, I've split out the meat and potatoes of this library into individual .c and .h files, similar in structure to libraries such as ruby-libvirt, with corresponding Ruby classes mapped out into their own .c/.h pair and init_<name>(VALUE parent) functions to support runtime initialization.

This should be fairly straightforward, and from my testing, the functionality is precisely the same as it was in the monolithic C code.

Let me know what you think, and thanks!