Event/message system cleanup

A2_eventbody is now a union with dedicated structs for the
different action classes. This avoids the nasty typecasting
that was going on here before, and makes the event handling
code more readable.

The START message now has a dedicated format, so that other
messages with arguments don't have to carry an unused 32 bit
handle field.

Closes #81.