Separate avocado.core module test cases
Move post-save and pre-delete signal receivers into separate module
Move CacheManager and CacheQuerySet to separate modules
Add test case to uncover bug
Improve logic for creating the instance cache key
Change CacheProxy methods to take instance on call

Previously the func_self property was set the first time an instance
accessed the proxy, however this caused the bug since it is shared across
all instances. This approach resolves the issue by keeping the CacheProxy
method-centric and requires the instance to be passed as an argument to
to operate on the cache value for the instance.

Although this solution is a tad verbose now that the instance has to be
passed in to the proxy's methods, this is not public API so users will
not be affected by this change.

Fix #136
Re-enable the DATA_CACHE_ENABLED by default
Merge pull request #156 from cbmi/issue-136

Resolves CacheProxy instance sharing in cached_method