fix bug whereby a series of sets and gets can result in a split doubly l...

This commit fixes a bug that I was able to trigger under heavy load (particularly heavy purge-load). If you merge in just lrucache_test.go changes you'll see the issue.