Fix Issue #110 -- Prevent infinite recursion in login code path 

GetClient / Login have a cyclic dependency. When we fetch the client, we do not always want to Login -- as a result, add a boolean flag to indicate whether or not a login is required.