I have completely rewritten this thread from scratch and have updated it to the latest snapshot. Please let me know if there are any issues with either formatting or content. I've tried to make examples as concise as possible to reduce character count, and currently most examples will only use the /tellraw command (as the text component does not change in structure between features, apart from escaping quotes, so would be redundant in most cases).
Thank you so much, you have no idea how helpful this thread was and still is to me. You are a legend!