* Better errors, using enig Errors and ErrorReasons
* If subject isn't required, don't enforce it
* Allow validator listeners to override error (ie: ignore)
+ getSuitableMessageConfAndAreaTags(): Get a suitable conf/area tag pair with priority on defaults
+ hasMessageConfAndAreaRead() helper
+ filterMessageAreaTagsByReadACS() helper
* Always include confTag/areaTag when fetching a conf or area (convenience)
* Fix 'toRemoteUser' assignment in message
* Better kick out of message conf/areas users does not have access to
+ MCI: TP - total messages/posts on system (non-private, includes imports, only counts *current*, not all of time)
* Move some stats to startup() calls
* Fix some DATE() comparisons in SQL to use 'localtime' as our timestamps include TZ
* Update luciano_blocktronics SYSSTAT to show more info
* User event log is now functional & attached to various events
* Add additional missing system events
* Completely re-write last_callers to have new functionality, etc.
* Events.addListenerMultipleEvents()
* New 'moduleInitialize' export for module init vs Event specific registerEvents
* Add docs on last_callers mod
* Themes use ES6 Map vs object{}
* Re-write and re-enable config cache using sane
* Events sent for config, prompt, or menu changes
* Event sent for theme changes
* Theme (or parent menu/prompt) changes cause re-merge and updates to connected clients
* If messageList is used, alwasy require items to contain areaTag
* Standardize messageList a bit - still WIP, needs cleaned up
* Lof of changes around area/conf tracking in relation to messages and message listings
* Work for message searching
* Clean up of various code, much to do...
* WIP on cleanup to use 'standard' MCI formatting / theming used elsewhere in system
* Some MCI ID changes (e.g. FSE in edit mode %TL13 -> %TL4); update your theme.hjson / artwork!