Introduce a data structure that combines all state of an svnserve
connection, including repository, pools, socket and server baton.
Use this new struct to eliminate mode-specific code and structures -
except for tunneling mode.

This will enable us to "suspend" connections in later commits,
i.e. handling many connections using a limit number of threads
and open repositories.

* subversion/svnserve/server.h
  (connection_t): new type consolidating all connection-related info

* subversion/svnserve/svnserve.c
  (shared_pool_t): drop type superseded by connection_t
  (accept_connection): new function with most code taken from
                       sub_main()'s network request handling loop
  (attach_shared_pool,
   release_shared_pool): replaced by these ...
  (attach_connection,
   close_connection): ... new connection-level functions
  (serve_socket): take a connection_t as parameter
  (serve_thread_t): drop type superseded by connection_t
  (serve_thread): thread param is now a connection_t
  (sub_main): simplify
  (main): note how the pool cleanup simplifies sub_main

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1544745 13f79535-47bb-0310-9956-ffa450edef68