libdoomsday: Added ThinkerData and MobjThinkerData

Base classes to be used for all private data of thinkers. The lowest
base class provides a Doomsday Script namespace, while the mobj-specific
one contains common internal functionality shared by the server and
the client.
Refactor|Client: Client-specific private mobj data

Removed ClMobjInfo and ClMobjHash. The mobj's client-specific network
state is now stored as an optional component of the client's private
ClientMobjThinkerData.

ClMobjHash was replaced with a QHash. Similarly, Thinkers now uses
a QHash to look up mobjs by ID.
libdoomsday|Thinker: Deletion audience and helper macros
Refactor|Client: Simplified handling of remote mobjs

The so called "clmobjs" are now handled like regular mobjs. The only
difference is that they have a NetworkState present in their private
data.

Cleaned up the way mobjs are deleted, since clmobjs no longer need
special handling.

Map uses observers to remove mobjs from the client mobj hash.