Problem: zproto_client_c borks if method body is empty

It uses this to generate a comment header.

Solution: use a default.
Problem: does not generate correct methods in some cases

Solution: if method doesn't have an explicit 'return' attribute,
return 0. We don't use void methods, so the API can consistently
report an interrupt with -1 or NULL.
Merge pull request #122 from jemc/master

Problem: myproj_msg.c in skeleton is missing the project header.
Problem: various errors in code generators

- did not use UPPERCASE-STYLE for protocol commands - fixed
- did not generate stubs for actions in "*" events - fixed
- used C: and S: in command descriptions rather than grammar - fixed

Mostly, driven by needs of Malamute Protocol.
Merge pull request #123 from hintjens/master

Small incremental improvements
Update generated code
Merge pull request #124 from trevorbernard/master

Update generated code
Problem: zproto_client method style is too complex

Solution: send method automatically unless it has an immediate = 1
property. Remove distinction between constant/argument/property
fields, all fields simply have a name.
Problem: clumsy use of methods in client API

Specifically, the constructor and destructor aren't visible in the
state machine, so we need to add extra methods for work that could
be done better in these, e.g. connecting and disconnecting to the
server.

Solution: glue new/destroy into constructor and destructor events
in the state machine. To make this work, we remove all manual code
dealing with methods, and generate this in s_client_handle_pipe.

This also it much easier to work with methods, since all code is
generated from the single <method> spec in the model. The only
extra cost is that the state machine must have actions to use the
method arguments in whatever way they're needed.
Problem: generates bad code if method name contains spaces

Solution: mangle method name to C event names.
Merge pull request #125 from hintjens/master

Improvements to client stack
Problem: codec headers reffer to czmq types

Solution: include czmq.h in codec's header file to have zmsg_t et all
resolved
Merge pull request #127 from vyskocilm/master

Problem: codec headers reffer to czmq types
Problem: unconditionally using "czmq.h" and never considering the
library

Solution: check if "czmq.h" exists in projects context otherwise use
library.
Merge pull request #128 from sappo/master

Problem: unconditionally using "czmq.h" and never considering the library
Problem: client generates duplicate field arguments

Solution: normalize field names to C correctly to ensure consistent
comparison.
Merge pull request #129 from hintjens/master

Problem: client generates duplicate field arguments
Problem: tracking protocol changes in clojure is too painful.
Merge pull request #130 from mknoszlig/master

Problem: tracking protocol changes in clojure is too painful.
Problem: inserting wrong values in generated class header

Solution: use class name, not class title.