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.
Problem: Clojure generation not working properly

Solution:

- fix templating to allow inclusion of java codec
- create Java and Clojure subdirectories as needed
- add newlines at end of files where missing
Merge pull request #131 from hintjens/master

Fixes to Clojure codec generator
Problem: license text is not commented.
Problem: clojure codec generator is not installed by make install.
Merge pull request #132 from mknoszlig/master

Problem: license text is not commented.
Problem: Socket functions should only be responsible for send.
Merge pull request #133 from mknoszlig/master

Problem: Socket functions should only be responsible for send.