RemoveUserFromRole removes incorrect roles

RemoveUserFromRole used equality when building new roles list for user,
which caused all roles except the target role to be removed. Changed to
not equal check so only the target role is removed. Also added check for
0 remaining roles, for complete removal of user from UserRoleStore.