issue #148: better support for forking and non-forking applications
Introduces the concept of forking and non-forking contexts to the HAF API. A new boolean parameter has been added to the 'hive.app_create_context' method, with the default value set to TRUE, representing a forking context. Additionally, two new methods, 'hive.app_context_set_non_forking' and 'hive.app_context_set_forking', have been implemented to allow seamless switching between forking and non-forking contexts at any point during runtime.
Implementation details: More efficient approach to reversible block processing by utilizing the 'is_forking' column in the 'hive.contexts' table. The presence of this column now determines whether a context will process reversible blocks or not. Notably, the registration of tables in forking or non-forking contexts will no longer impact the context type's reversible block support. The 'is_forking' value shall be treated as an implementation detail and not changed directly, but only with the API methods mentioned above.