Fix non-cuboid fields not updating. Fixes #590.

Non-cuboid fields should never have their `DirtyFieldReason.DIMENSIONS` property set, this will cause the UPDATE query to fail.

This pull request fixes that simply by adding a check before adding that flag. There are maybe other, better, solutions, but this seemed a simple solution to me that just works.

The error message of the query wasn't displayed because SQL errors were ignored by the `DBCore.execute` method: the method ended in the `finally` block. This pull request also fixes that problem.

This pull request might also fix issues #664, #652, #651, #636 and #617, but I'm not sure if those issues are actually caused by this bug.