The starting on a collab setup. Focus is only on collab between two
processes on a single machine at the moment. The process
fontforge-internal-collab-server must be manually started too.

Better to start and remove the rough edges later.
Better structuring of the "undo/redo pair" for the client performing a
modification

In particular, the client making a modification now undoes its change,
serializes the created redo operation, removes that redo from the
stack and sends the serialized redo to the server. In turn the server
sends the serialized redo to all clients and thus the operation is
performed again.

This way, the client which performs an operation sees a much closer
picture of events to all the other clients. Less differences between
client state is a good thing.
update for mac
include the new collab server binary too
Show the user the server host name and allow the clients to specify
where to connect
less jitter during undo/redo process when talking to the server.
Detection of slow network (no response from server to update sent)
and dialog allowing reconnect.

Windows now show if you are in a collab session or not and if you
are the server or client, or are in a session that was forced to
be disconnected.
A bit of code cleanup, more comments here and there.

Major change, collabclient.c is now always built, but the body
of the functions are #ifdef guarded. This way code through the rest
of fontforge can call the collabclient_foo() functions without needing
any #ifdef guards. They simply do nothing when the zeromq + collab code
is not built.
hush
Merge remote-tracking branch 'upstream/master' into 2013collab

Conflicts:
	configure.ac
	fontforge/fontview.c
	inc/Makefile.am
hush again
Merge pull request #379 from monkeyiq/2013collab

2013collab: Initial optional collaboration client/server using zeromq