The options I see here are

1. rename this again to `scrapylib.mongocache` instead of a sub of `scrapylib.httpcache`, and don't group httpcache-type modules below `httpcache`.

 But I like the `scrapylib.httpcache.SomeCacheStorage` namespace as it'd follow scrapy there, so:

2. just try to import pymongo and ignore the backend it if it doesn't exist.
 ```python
# httpcache/__init__.py
try:
        import pymongo
        from .mongodb import MongoCacheStorage
except ImportError: pass
from .dummy import DummyCacheStorage
```
3. go with some lazy loader in `httpcache/__init__.py`

I would prefer 2nd, if that is a good enough solution. Comments please?