POML: Structured Prompts for Reliable AI Agent Workflows