Implement(PersistentSessionDAO): implement method createSession.

Add(SessionDAO): add and implement method removeSession.

Add class Session to work with sessions.

Add(CalendarUtilities): add method compareTimestamps.
Refactor(SessionDAO): change return type of method createSession from String to Session.

Fix(UserAuthorizationTest): resolve type conflict in test method createdSessionHasAnId.

Remove(PersistentSessionTest): delete test methods retrievedUserFromSessionIsNotNull and sessionUserHasTheSameId
Add(SessionDAO): add method getSessionById.
Implement(PersistentSessionDAO): implement method getSessionById.
Refactor(PersistentSessionTest): test method removeSessionFromDatabase uses retrieved Session object to verify removal instead of using a User object.
Refactor(SessionDAO): remove methods getUserFromSession and sessionHasExpired.
Refactor(UserSession): add field and constructor parameter userAccountDAO.

Add(UserAccountDAO): add method getUserById.

Refactor(UserAuthorizationTest): adjust test to use userAccountDAO.getUserById instead of sessionDAO.getUserFromSession
Implement(PersistentSessionDAO): implement method updateSessionExpiration.
Refactor: move classes Session, UserSession, ExpiredUserSessionException to package authorization.
Implement(CalendarUtility): implement method compareTimestamps.