Added Cache.removeWhere to API

The Cache.removeWhere(test) function scans through each item in the
cache and removes that item if it passes the supplied test.
Added addition assertion to removeWhere test
Tweaked tests and comments for pull request
Fixed up @private annotations

Whoops, last commit was wrong. I have corrected the last commit and also
removed the one from removeItem, as it is a public API method.
Merge pull request #9 from nickwb/master

Added Cache.removeWhere to API