Spill The Beans: Exploiting CPU Cache Side-Channels to Leak Tokens from Large Language Models