Reduce code duplication in LogServer

Both the main method and the configure method call configureLogging(), and
then start a new thread.

Move the thread creation into configureLogging, and rename that method to
configureAndStartLogServer.
Reduce code duplication in LogServer

Comparing LogServer.main and SimpleSocketServer.doMain:

 * LogServer.main calls configureAndStartLogServer, which does the following:

    * resets the LoggerContext (obtained using LoggerFactory.getILoggerFactory)
       - this uses LogbackUtils.resetLogging, which calls LoggerContext.reset

    * configures the LoggerContext using the config file
       - this uses LogbackUtils.configureLogging, which uses a JoranConfigurator
         to configure the LoggerContext

    * starts a thread (running the LogServer's run method)

 * SimpleSocketServer.doMain does the following:

    * configures the LoggerContext using the config file
       - this uses the configureLC method, which:
          - calls LoggerContext.reset
          - uses a JoranConfigurator to configure the LoggerContext

    * creates a SimpleSocketServer (which extends Thread), and calls its start
      method

So the effect of both methods is the same:
 * reset the LoggerContext
 * configure the LoggerContext using the config file
 * start a thread

The LogServer.run method is essentially the same as SimpleSocketServer.run.