Fixing bad merge.
This commit adds a bitvector to each heartbeat wherein the ith bit in the bitvector is set if the source of the hearbeat has heard "recently" from the ith entity.
Recent is defined by the decision function Entity::ComputeRecentlySeen().  As it stands, an entity has heard from another entity recently if it has done so in the
last Entity::kMaxRecent seconds. Since we are using bitvectors, the type Id is now an int rather than a string.  Moreover, entities need to have contiguous Id's
starting from 0.  The example input files have been changed accordingly.

I also made some small improvements: -Changed macro constants to be const variables -Moved the functionality in Scheduler::Forward(E*, M*, Entity*, Port) to a
class to allow for partial specialization on E and M -Heartbeats were previously initiated by manually inserting them into the event queue in main.  They are not
initiated via a InitiateHeartbeat event.