Use Django's m2m_changed instead of our custom signals in depend_on_m2m

See: https://docs.djangoproject.com/en/dev/ref/signals/#m2m-changed
(introduced in Django 1.2)

This may want to be tested a bit more carefully, but the existing argcache tests do exercise `depend_on_m2m` decently.