[Fix #204] Eliminate delay between binding and log checking

In the existing history server, the user needs to wait `spark.history.updateInterval` seconds before his/her logs show up on the UI.

This is because the following events happen in this order: (1) The background thread that checks for logs starts, but realizes the server has not yet bound and so waits for N seconds, (2) server binds, (3) N seconds later the background thread finds that the server has finally bound to a port, and so finally checks for application logs.

This PR forces the log checking thread to start immediately after binding. It also documents two relevant environment variables that are currently missing.