Actions and Events

Users can now create/edit/delete actions and events. Actions applied automatically update the properties of respective widgets with the designated values. 

This pull request does not include:
* Validation for action/event names. (The SRS didn't originally require actions to be named, but the DD specified a name field.)
* Registering events with widgets. i.e. Once we create an event, we need to decide how we want to notify the widget/trigger the event uses as a triggers.