Adds a timeout for logging in-read, adds bool for logged in

Sometimes we don't read any bytes, making logging in blocking. Giving it a timeout and a way to check the logged in status, we can spin on logging in