Add support for top-level enums
Generate enums before messages
Add service descriptors.