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.