Fix: dynamically fetch the session daemon port

When connecting to the session daemon, fetch the port at each try. This
moves the read port file functions to the TCP session daemon client
where the connect happens.

If the port file is not found, simply retry 3 seconds later. Also, this
adds a timeout to the acquire semaphore of 3 seconds.

Signed-off-by: David Goulet <dgoulet@efficios.com>