How can I prevent certain roles from editing other roles? I have user roles User Role 1, 2, and 3. I want a simple module that will make User Role 1 only be able to edit and administer users in User Role 2, and not User Role 3. Does anybody know of any module or other easy method to do that? It seems like there must have been somebody else who did something about their moderators being able to delete their admin accounts?

Please note that I'm not asking for anything about restricting the permission changing ability of roles.
The userprotect module can handle that.