Made everything in sprint 2 except of tests. I think now is a time for review

I think than because our speed decreased and I want to have a feedback would motivate me to further work
instead of make N queries you can make only 2.
first filter all tags for this task 
```python
old_tags = self.object.tag_set.all().values('title')
```
then compare two sets old and new tags then use [bulk_create](https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.bulk_create)