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