[FIX] Create error-restrictions late
Before this patch we generated error-restrictions only for error-blocks, thus blocks (or regions) containing a not represented function call. However, the same reasoning is needed if the invalid domain of a statement subsumes its actual domain. To this end we move the generation of error-restrictions after the propagation of the invalid domains. Consequently, error-statements are now defined more general as statements that are assumed to be not executed. Additionally, we do not record an empty domain for such statements but a nullptr instead. This allows to distinguish between error-statements and dead-statements.