merged rel21 branch (up to r3978) back into trunk

git-svn-id: http://sphinxsearch.googlecode.com/svn/trunk@3979 8b96e2b9-35c5-2c16-bc47-5122d61876d4