Added tests for related and m2m invalidation

Tests require more granular m2m invalidation of both intermediate and
target model.
Conditions on related models will now invalidate queryset.

m2m invalidation now uses this, and hence is now much more granular.
Also fixes an issue with m2m through table - #44.

Closes #86, #44.
Merge branch 'joins-invalidation'
Skip m2m invalidation machinery for explicit thorugh tables

Invalidation will still work since post_save and post_delete signals are
sent for these.
Do not query through objects in m2m post_add and pre_remove

We know all their meaningfull attributes anyway.
Updated CHANGELOG

Stated success in related and m2m invalidation