stage 2 of fixes to EMIT_SIGNAL and EMIT_SIGNAL_TIMESTAMP

- these 2 macros are now 600% more awesome
- EMIT_SIGNAL_TIMESTAMP's timestamp has been moved to the third argument, before the string args
- both macros are now variadic, so instead of fluffing a bunch of NULLs onto the end you can just finish early
- emit_text was modified to support this change, so there is no longer a limit on the number of text event fields
- the only downside is that both macros expect at least one variadic parameter (just pass NULL instead of nothing at all)

- Fixed an issue wherein the text event XP_TE_UCHANMSG was not given enough arguments
Updated an error message in format_event() to give more useful info

- it will help debuggers to know which text event is wrong, rather than
  just that there exists one that is wrong.