Prevented infinite loops on Tag.save()

Note: Now Tag.save() can raise an IntegrityError in case of concurrency
issues, your app will need to handle that.