Restructure the proxy checking logic to use a ticker for periodic checks
when a non-zero interval is set. Improve handling of zero interval case
by waiting for a stop signal. Improve stop mechanism and initialisation
of stopChan.
Also introduce a new test file proxy_checker_test.go for unit testing.
Modify the server startup process to wait for the first proxy check to
complete before initialising the server.
Add logging to provide visibility into the proxy checker initialisation
process.