Session close cleanup improvements

Make thread safe
Override timed wait
close_future_ no longer allowed to be null
Wait in SessionCloseFuture dtor