Avoid throwing an exception trying to delete that which does not exist.

For some unknown reason, when you have a huge set of clients using DiskLruCache on Android
and you try to flush(), or delete() the cache you end up having that exception coming
from the remove() method.

It's as if something is removing the file for that key, maybe a synchronization issue,
maybe the file gets deleted by an external entity and the cache doesn't know about it because
it still has the key, and the result is that the cache can't never finish doing trimToSize()
(which is called when trying to flush() or delete()), so you can't never delete the cache
unless you do it force not using this API.

When this happens, the whole cache becomes unusable, we've found instances where the cache files
are months old thanks to this issue.
cleaner
Add failing test case for Issue #43 before merge.
Merge branch 'avoid-unnecessary-exception-throw-on-remove' of https://github.com/gubatron/DiskLruCache into jw/issue-43
Merge pull request #44 from JakeWharton/jw/issue-43

Fix #43