Implement cache

Here's a quick stab of implementing cache functionality using `api_cache` and `moneta`. It's still rough around the edges and could be improved in several ways, but seems to work. For now it works only for `doi2cit()`, but the same could be implemented in `search()`, or maybe the functionality should be refactored to a shared method etc. I also added few rudimentary tests.