More various tidying after some more testing. P_RecursiveSound no longer recursively allocates MapContext objects when it doesn't need to. Fixed a bug where releasing a context more than once created cycles in the free list. PushThinker::Think was allocating a MapContext without releasing it.

git-svn-id: http://mancubus.net/svn/hosted/eternity/branches/portal-branch@2743 86ba831e-150c-0410-ab35-e06eaae15ed9