A Communication Theory Perspective on Prompting Engineering Methods for Large Language Models