libpromises depends on libcfnet.
More thread-safety in libcfnet and API cleanup.

* Make Hostname2IPString(), IPString2Hostname() thread-safe.

* Changed Hostname2IPString(), IPString2Hostname() to not be
  silent about resolution errors etc like before. Handle them
  properly (hopefully) now in the callers.

* Change some logic in previous client cache of connections to
  server (SERVERLIST) that was probably bogus and failed reusing
  existing connections. Now we are always sure we're storing only
  addresses (not hostnames) in that list.

* Make SERVERLIST static, and lock it with its own lock. This
  still has problems, and to be sure no races happen we have to
  lock for really long, so lets first see how this goes. it's now
  filled with ProgrammingError() so it should trigger if
  something is wrong...

* Optimised the size of some 4k buffers to be only
  CF_MAX_IP_LEN (64) or MAXHOSTNAMELEN (256).

* Remove the localip field from AgentConnection type, it was
  unused up to now and it wasn't clear what it was storing.
Merge pull request #602 from jimis/wip3

More thread-safety in libcfnet and some API cleanups.