switch connection management to allocate-only

Change the allocation strategy for connections to be append only, to
satify a couple needs:
- avoid malloc/free sequences: this is a mere performance optimisaton
- avoid dirty reads: this solves race conditions in the code, relying on
  sleeps to hopefully not read after free.  By doing allocations only we
  never read freed data, and can rely on our latches only, instead of
  requiring locks.  The only lock we now need is when we need to extend
  the connections pool.
dispatcher_addconnection: remove no longer used variable
server: remove last bits of obsolete backup server implementation