Merged trunk changes 983-1012 into the new-backend branch.
Experimental development branch for complete rewrite of back-end code relating to database and snippets editing engines.