Fixes a GIL related bug

Wrapped all the low level C++ I/O calls with Py_BEGIN_ALLOW_THREADS
Py_END_ALLOW_THREADS.

The serialize/deserialize code is reading from stream, thus it could be potentially in I/O block and mess up python threads. This is particularly significant in pydoop.mapreduce.simulator since there we are emulating the 'server side' hadoop with a multithreaded python program. It is a mystery why this did not show up in the standard hadoop tests.

Since this fixes a problem with the simulator, I have added simulator based examples to the list of examples that we run. Not really an unit test, but ...