Fix read performance regression in ObjectCacher

The regression was introduced in commit 4fc9fffc494abedac0a9b1ce44706343f18466f1.  The problem is that the cache thinks it's full (when it's not), so it defers the read.  This change frees up cache space if necessary and only defers the read if enough space cannot be freed.

Fixes: 9513
Signed-off-by: Adam Crume <adamcrume@gmail.com>