[python] Process ZCL responses (#5816)

* Move DataModelHandler from app/server to app/util

DataModelHandler is used on both controller and accessory
side, so it makes more sense to keep it in the util
directory.

* Make Python CHIP controller process ZCL responses

Generate ZCL code for Python CHIP Controller and build
DataModelHandler in the context of the generated code.

* Implement ZCL response callbacks

Implement ZCL response callbacks for commands and
attribute read requests so that contents of a response
is printed to the console. Make Python code provide success
and failure delegates which complete an asynchronous
operation and return to the prompt.

* Provide empty DataModelHandler functions

The controller library requires DataModelHandler
functions which are usually provided by a specific
controller application, since the functions depend on the
code generated based on application-specific clusters.
Implement empty defaults so that the controller library is
self-sufficient and a controller which has not yet
implemented ZCL handlers builds without linker errors.

* Regenerate Python CHIP Controller gen/ in the common script

* Restyled by gn

* Restyled by gn

* Fixes after rebase

Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/docs/Doxyfile b/docs/Doxyfile
index 15bc171..f8c0031 100644
--- a/docs/Doxyfile
+++ b/docs/Doxyfile
@@ -937,7 +937,8 @@
 
 EXCLUDE_PATTERNS       = NetworkProvisioningServer* \
                          */tests/* \
-                         */dbus/*
+                         */dbus/* \
+                         */gen/*
 
 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
 # (namespaces, classes, functions, etc.) that should be excluded from the