CacheManager class

This is a big PR. It introduces:
* A `shiva.indexer.CacheManager` class that takes care of caching (or not) albums and artists
* A `shiva.lastfm.LastFM` class that encapsulates `pylast`'s logic and adds caching
* Replaced `--low-ram` flag with `--write-every`
* Cleaner code in general