Redesigned QueryHandler

Modified QueryHandler to run like an event loop, listening for events
which are actually function calls (so we can give a thread a message).
Each thread we create for a query, will have its threadName as
"QueryNo". When we receive a message, we can enumerate all running
threads and search for the thread pertaining to our query, and pass the
message to that thread using
thatThreadObject.onThread(functionWeWantToCall, argumentsWeWantToGive).

This lets us stick to the idea of one thread per query and one query
handled by only one thread for now. This method however is ugly; one can
only have so many threads in a system at one time and all this voodoo
magic probably has a lot of overhead. Should fix this by a complete
redesign sometime, or test it at least.
Merge branch 'master' of https://github.com/nishant-jain/Middleware-dev

Conflicts:
	ServerApplication/Src/QueryHandlerModule.py