Generate constructors for messages.

This is going to bloat the microcontroller firmwares a wee bit, but right now we depend on undefined behaviour in that we assume that messages are going to be allocated on zeroed memory. It's particularly problematic for the length field on a subscriber to be non-zero, since that really confuses the logic that triggers a realloc when a larger sized array is received.

Situations where the message memory may not be zeroed: messages allocated on the stack, clients running on PCs, unit tests, etc.
This is actually a fix for the issue which prevented map_msgs from compiling— the problem was services which defined only the request portion and not response. For example: http://docs.ros.org/indigo/api/map_msgs/html/srv/ProjectedMapsInfo.html

This change allows the generator to assume that in the absence of the dividing `---`, the divider is at the end of the service definition.