Adding more functions to PacketRegistry

Still need to find a good way to remove this duplication, but encapsulating handler and handler_v2 seems like a good start.
Add missing include files into client.h
Removed redundant type MSG_HANDLER_V2

MSG_HANDLER is exactly the same and should be fine. We haven't used the
different type for anything in the code and this makes life easier...
Cleaning up undefined packet handling

Moved the code that handles undefined packets into a new function and
using PacketRegistry to see if the packet is defined.
Cleaned up message handling code

Removed duplicate code in message handling. Now, all the information
about different handlers is encapsulated in pktRegistry. Packethooks
still need to be cleaned up.