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