Fixed a critical bug inside the table module.

The table module addresses its contents by using
a modulo of some key over the table size. However,
I ran into a situation where the key was negative,
which caused a segfault when the table tried to
insert a value at some very low memory address.

That is fixed, as all of the table keys are now
considered unsigned.
Refactored some of the client operations.

They were moved from the event module into the
client module, where they fit better.
Implemented "class-actions".

This addition required the following changes:
 - Declaration of a struct and an enumeration
 - Adding a function to apply the class-actions onto
   clients
 - The writing of some string utilities
 - A modification of the config handler to accept
   the class-actions in the configuration file