Move announce to its own class file.  Rework how die happens by try/catch statements.

git-svn-id: https://svn.code.sf.net/p/freeghost/code/trunk@2237 71f96598-fa45-0410-b640-bcd6f8691b32
Merge svn with master