Set Gnucash version and GNUCASH_RESAVE_VERSION in init_version_info

And reset_version_info. This is a better solution than setting it in load
after calling init_version_info because in load it would over-write the
values stored in the database.
Bug 724995 - Gnucash crashes due to assertion failed when opening sqlite file

Rather than asserting (and therefore crashing) on a bad split or transaction,
write an error description and raise an ERR_BACKEND_DATA_CORRUPT error.

Fix bad GUIDs in splits at write.