Execute a list of statements.
(exec-statement-list stmts env limit) → value?+denv
If the list is empty, we return no value and leave the environment unchanged. Otherwise, we execute the first statement, propagating any errors. If the statement returns a value, we return that value, and we do not execute the remaining statements. Otherwise, we proceed to execute the remaining statements.