THRIFT-2696 Unable to stop socket server while there are idle clients
Client: Delphi
Patch: Severian Duchenko & Jens Geyer

The patch contains some additional refactoring, e.g. I consolidated the excessively overloaded CTORs a bit.
THRIFT-1040 Can't end typedef lines with a semicolon
Client: Compiler (General)
Patch: Konrad Grochowski
THRIFT-2513 clean up enum value assignment
Client: Compiler (General)
Patch: Jens Geyer
THRIFT-2702 empty enums lead to invalid code
Client: Delphi
Patch: Jens Geyer
THRIFT-2513 clean up enum value assignment
Client: Compiler (General)
Patch: Konrad Grochowski

Fixes the failing test with pure_enums. For details, see JIRA ticket.