Fatchan work
Generate separate client/server for garbled circuits by default

Works now for programs that do not take command-line input.

Use smpcc flag -sim to get a version that simulates distributed
evaluation.
Add -id flag and handle command-line arguments correctly

For the garbled circuit back ends (yao, yaor, gax, gaxr) the compiled
output now expects an -id flag indicating the party (1 for the
evaluator, 0 for the generator, 0 is the default).  The remaining
arguments are the program inputs; they must be integers.

For example, suppose the program is foo.c.  Then after compiling you
need to run the evaluator first (because it is the server) with
something like

    go run foo*.go -id=1 4 5 6

The "-id=1" tells the program to run as the evaluator/server, and 4 5 6
are the evaluator inputs.

Then run

    go run foo*.go -id=0 7 8 9

to run the generator/client with inputs 7 8 9.

Currently the client and server must run on the same machine; host and
port specifications are next.
Add -addr flag to compiled output

For the garbled circuit back ends it is now possible to specify the
network address to bind/connect to.  This will allow a server with
multiple network interfaces to choose the interface, and allow clients
and servers to operate on different machines.

Example server invocation:

    go run foo_*.go -id 1 -addr 127.0.0.1:3333 6

Example client invocation:

    go run foo_*.go -id 0 -addr 192.168.0.5:3333 10
Remove fatchantest now that distributed operation is default
Merge remote-tracking branch 'origin/master' into real_triples