Updated integrate_J for better handling of events.  Specifically, reverted to keying pendingEvents by time rather than by event, and made the values in this dictionary  lists of events.  This made it easier to implement event chaining  and simultaneous events.  This is still some ambiguity in how chained events should be executed.  For example, we assume that for simultaneous events (excecuting at the same time), the new root state is checked after all the events  are excecuted.  We might have to update this more later as the SBML spec is made less ambiguous.
Updated integrate_J for better handling of events.  Specifically, reverted to keying pendingEvents by time rather than by event, and made the values in this dictionary
 lists of events.  This made it easier to implement event chaining
 and simultaneous events.  This is still some ambiguity in how chained events should be executed.  For example, we assume that for simultaneous events (excecuting at the same time), the new root state is checked after all the events
 are excecuted.  We might have to update this more later as the SBML spec is made less ambiguous.

GutenkunstLab/SloppyCell,GutenkunstLab/SloppyCell