Extract InviteRedeemer from Invite

Extracted the InviteRedeemer class to decrease the complexity of the Invite.redeem method.