fixed a deadlock that could occur while indication handling

When indication is accepted by a broker, a callback
`consumeIndication()` is triggered in its own thread created by a
broker. This callback iterates and runs registered python handlers. To
make it safe, the callback acquired global interpreter lock (GIL).
Everything is fine until listener is being stopped. It passes the
request to CIMOM which then waits for all invoked callbacks to
terminate. There may be more than one callbacks waiting for a GIL.
The thing is that the main thread (the one where listener is being
terminated) may be holding it.

This patch releases the GIL during listener's termination. This
allows invoked callbacks to terminate. It also adds a terminating flag
indicating to these callbacks that no other handlers shall be invoked
which speeds up the termination.
allow other threads to run

During time consuming blockin IO it's polite to let other python threads
to run. It can be achieved simply by releasing GIL until blocking
operation finishes. It's essential to avoid accessing python objects
and its internal data during this time.
Merge pull request #5 from miminar/master

concurrency issues fixes