RFC: Improving tests

The current integration test is more of a system test, and while unit tests aren’t really possible for the hadoop proxies, there needs to be some cheaper integration tests. As is, the integration tests are difficult to extend and since they take ages to run, it is not at all rewarding to do so. While adding these basic tests, I even realised that I had a copy-paste error in #23 (now fixed) that should really have been covered by a test.

Not exactly sure that this is the right approach, so any advice one making this whole thing nicer would be greatly appreciated.

The big problem with testing this whole thing is that there is no (good) way to get feedback from within the "proxied" world. The object is constructed from a class name only in a different JRuby runtime (with no arguments to the constructor) and there is no general way to talk back from the proxied runtime.

The approach in this pull request is to have a bunch of example implementations, and assert that they behave as intended (with a lot of glue to get around various imperfections in hadoop). I did the development on hadoop 2.2, so there might be some tweaks necessary to get the glue working on other versions, but I'd like to wait with that until I know the overall approach is sane.

It also seems my spec-load-path-hack also broke the integration tests everywhere (obvious in hindsight) , so ignore those for the time being.

Right now, the pull request is into custom-input-format-2 as a hack to make github display only the relevant changes. I don't really intend for this pull request to be merged anyhow, but rather serve as a basis for discussion for a subsequent pull request.
What does this do? Does it put synchronization a GIL around the runtime, or synchronize access to variable assignment, or what? Why is it needed?