[SPARK-4342] [Core]connection ack timeout improvement, replace Timer with ScheudledExecutor...

* replace java.util.Timer with ScheduledExectorService
* avoid reference to the whole message, use message id only.

Is there any reason for the magic number 2?