Two sets of changes:
1. Implement most of issue #258: Add a start and end time for announcements. Also add a target uid for announcements. Also add a purge option to fully remove announcements from the database, rather then retiring them. Add priorities for ordering announcements. Add update mode to modify an existing announcement. In other news, announcements now have a uuid and can be specified on the command line using their index or their uuid. For the web interface we now use uuids only instead of database indexes. 2. The web interface now polls for announcements so that users see new announcements without reloading. I noticed that a lot people stay parked on the status page and might not see them. Cleaned up DB queries and formatting to make is easier to use in an ajax call.