Implements cache tags for query builder from issue #2630 Also refactors builder tests for cache
Fix docblock
Use original key value when updating models.

This is necessary in case the primary key was changed.

Fixes #2414.
Merge branch '4.0'
Merge pull request #2687 from karptonite/builder_tags

Implements cache tags for query builder from issue #2630
Small tweaks to doc-blocks.