Session handling expiration and timeouts

Changed session handling to check for both expiration (max lifespan)
and timeout (grace period) separately. Added code to kick clients
that have exceeded the expiration. Added config option and code to
kick clients that have exceeded the timeout. Changed timeout to
update when the user closes the connection. Changed authentication
to check for expired or timed out sessions. Fixed config file error
that caused client exception and halting. Updated various logging
messages.