Fix up state-changing business functions

To ensure that they all have a begin/commit and mark the instance
dirty so that the change is immediately written to the DB.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23167 57a11ea4-9604-0410-9ed3-97b8803252fd