A Swiss Army Knife for Online Caching in Small Cell Networks