strengthened chat formatting validation (#960)
* strengthened chat formatting validation
* fix types
* made assert messages more descriptive
* used raise instead of assert, added type checks
* added list type check
* type error if no string content
* add test case for new validation
* relaxed type constraints to interface minimum
* use Mapping and Iterable
* fix mapping in type aliases too
* iterable -> sequence
* sequence -> list
* Mapping -> Dict
* use mapping again
* fixed another one
* updated message
* factored out duplicate functions
* dict -> mapping
* add sequence