IMGSession refactor to allow lazy authentication

updated tests to match. no longer just lazy refresh