Keep session alive

- keep session alive as long as application is active. This is done by
sending requests to server.
- Re-login users whose session expired
- solve syncronization issue (occured with using the timer)