Frontend and parser portion of two event system changes:
* Generate a shared secret key for the event system. This key is stored into the DB, and passed to the node via tmcd. It is also stashed into a file in the experiment directory (can be accessed only by the project/group members). The key is used to attach a HMAC (hashed message authentication) to each event, which is checked by the receivers to ensure that the event is not bogus. More details on this later when I commit the event library/client changes. * Added "virt_programs" table to store info about each program object defined by the user. The intent is to no longer send the command string in the event, but to fix it in the DB, and transfer it via tmcd. This removes our "remote execution facility" which was always a bad idea (we have ssh for that, and that is a lot more secure then the event system!). Note that for the time being we need to continue send the command in the event because of old images, but the new images will now ignore that part of the event.