guard against a different kind of socket error

One that does not have an errno.
Clusterize the twikifier server

Using http://nodejs.org/api/cluster.html operate twikifier as a
self refreshing cluser of 1 master and 4 slaves, all of which
share the the task of rendering content.

Each slave listens on the unix socket, the operating system (which is
good at this) chooses which process gets the current batch of data.

If the slave has a problem (timeout or some kind of unrecoverable error)
it simple exits and the master forks another.

The current max number of slaves is 4. This is a reasonable number for
the 6cpu server that is tiddlyspace.com: one cpu for mysql, one for
memcached, and 4 for apache and twikifier to fight it out (they both
have a fair bit of idle time and the os manages that well).

The upshot of this change is that a render that takes a long time can
no longer block twikifier: there are three other processes to take
up the slack. This means that not only can other renders happen, there
won't be a cascade of blockages up the stack where some single tiddler
brings the entire system to a crawl.

I've tested this with 20 concurrent requests for the feed of the 20
latest tiddlers off tiddlywiki.org and though it drives the load time
on the server quite high, everything continues to work.

So that's good.

But can I guarantee there won't be future problems? No, I can, however
maintain a pretty strong belief that things will be bit more resilient.

Or to put it another way: Unix wins. Again.