DeAL: Decoding-time Alignment for Large Language Models