I simplified the entities hierarchy by removing the superfluous Switch
class and renaming BroadcastSwitch to Switch.  I moved node failure
functionality into Entity and correspondingly renamed SwitchUp and
SwitchDown to Up and Down, respectively.  I factored out the heartbeat
specific behavior of Broadcast events into their own Hearbeat class that
inherits from broadcast so that other types of messages can be broadcasted.
I updated the parser, main, parsing, and the example input files to reflect
these changes.