Add a failing test indicating errno bug.

Errors returned from C functions are not always equal to the constants
defined in zmq.go.
Correct errno bug in casterr.

Errors are now rightly comparable to the constants.
Merge pull request #68 from jtacoma/errno-comparison

Fix Errno Comparison.
add a test for capture=nil in gozmq.Proxy
fix gozmq.Proxy with optional capture socket = nil
Merge pull request #69 from PhiCode/master

fix gozmq.Proxy
Fix runtime error and test failure for 2.x.

This avoids a nasty "runtime: signal received on thread not created by
Go." when double-closing a 2.x socket into a simple test failure by
simply not closing a socket more than once (unless a socket is closed
from multiple threads at the same time).  It also avoids a test failure
by refusing to attempt to connect a socket that has already been closed.

Tested with 2.2 and 3.2.
Add command gozmqfix.

This is a command that will update code when there are backwards
incompatible changes in the API of the "github.com/alecthomas/gozmq"
package.  This commit brings in the skeleton with no specific API
updates yet included.

The code is copied from the Go project at version 1.0.3 with its
licensing intact.  Based on a little research into licensing, I've added
a copyright line near the top of the LICENSE file.  I am not a lawyer.

Install with `go install github.com/alecthomas/gozmq/gozmqfix`.  Usage
is essentially the same as for `go fix`.
Change interfaces to structs.

Started with some global search and replace, then cleaned up as
necessary to get things building and passing tests again.

This change also includes a "zmqscripts" rewrite for gozmqfix.  Updating
existing code should be as simple as:

 - go install github.com/alecthomas/gozmq/gozmqfix
 - gozmqfix PATH...