Added packaged files and binary to RPM spec
Merge branch 'master' of https://github.com/tristianc/libzmq
Problem: API violations are treated as recoverable errors

The example is applications passing invalid arguments to a socket option
and then failing to check the return code. The results can be very hard
to diagnose. Here are some threads that show the pain this causes:

* https://github.com/zeromq/zyre/issues/179
* http://lists.zeromq.org/pipermail/zeromq-dev/2014-June/026388.html

One common argument is that a library should never assert, and should
pass errors back to the calling application. The counter argument is
that when an application is broken enough to pass garbage to libzmq,
it cannot be trusted to handle the resulting errors properly. Empirical
evidence from CZMQ, where we systematically assert on bad arguments, is
that this militant approach makes applications more, not less, robust.

I don't see any valid use cases for returning errors on bad arguments,
with one exception: zmq_setsockopt can be used to probe whether libzmq
was e.g. built with CURVE security. I'd argue that it's nasty to use a
side effect like this. If apps need to probe how libzmq was built, this
should be done explicitly, and for ALL build options, not just CURVE.

There are/were no libzmq test cases that check the return code for an
invalid option.

For now I've enabled militant assertions using --with-militant at
configure time. However I'd like to make this the default setting.
Fixed build: malformed only defined when needed.
Added militant API checking on zmq_getsockopt
Merge pull request #1096 from hintjens/master

Problem: API violations are treated as recoverable errors
Problem: when libgssapi isn't available, GSSAPI options 'seem' to work

Solution: use same approach as for libsodium/CURVE, i.e. return EINVAL
if the library isn't present when libzmq builds, and the application
still tries to use these options in zmq_getsockopt/setsockopt.
Problem: need way to probe library capabilities

As libzmq is compiled with optional transports and security mechanisms,
there is no clean way for applications to determine what capabilities
are actually available in a given libzmq instance.

Solution: provide an API specifically for capability reporting. The
zmq_has () method is meant to be open ended. It accepts a string so
that we can add arbitrary capabilities without breaking existing
applications.

zmq.h also defines ZMQ_HAS_CAPABILITIES when this method is provided.
Trivial whitespace fixup
Fixed compile error if Kerberos installed
Add documentation for GSSAPI options.
Merge pull request #1098 from mgatny/add_gssapi_documentation

Add documentation for GSSAPI options.
Fixed build with arm-linux-androideabi toolchain
Merge pull request #1099 from chrox/master

Fixed build with arm-linux-androideabi toolchain
Add support for SOCKS proxies

This is still raw and experimental.
To connect through a SOCKS proxy, set ZMQ_SOCKS_PROXY socket option on
socket before issuing a connect call, e.g.:

    zmq_setsockopt (s, ZMQ_SOCKS_PROXY,
        "127.0.0.1:22222", strlen ("127.0.0.1:22222"));
    zmq_connect (s, "tcp://127.0.0.1:5555");

Known limitations:
- only SOCKS version 5 supported
- authentication not supported
- new option is still undocumented
Merge pull request #1100 from hurtonm/master

Add support for SOCKS proxies
Fix memory leak in socks connecter
Merge pull request #1101 from hurtonm/master

Fix memory leak in socks connecter
Fix windows build
Merge pull request #1097 from hintjens/master

Added capabilities API