Forward-port some applicable parts of 0.5 r10419 to trunk.

git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10420 c06c8d41-db1a-0410-9941-cceddc491573

Created by  dolorous  on July 26, 2009
SPVDM6IQJRYPJ7G5ETCR7YTTUPVYJZCV75XRINEFDLU5JT6N4OQQC
Change contents