Updated directory structure of tests so that package names agree with folder names.  This follows java convention and will allow me to use tools (eg., jdb) that expect conventions to be followed while debugging.
Mild refactor of code.  Previous invariant was that an event would not
backout a change that had been committed to a speculative object until
it had read a value from the boolean future that that speculative
object had returned.  (Ie., not until an object had said, "Okay, I
staged it for you.")  I'm in the midst of changing the semantics so
that the event can call backout at any time.  If an event calls
backout before an object's future boolean returns, the object must
ensure that any threads waiting on a get of the object are unblocked.
Garbage collects root's cancellable futures.  Following these last two
commits, an atomic active event should *be able* to backout of a
staged commit before the staged commit's future returns.  Now, need to
actually update atomic active event to do so.
Modifying AtomicActiveEvent state diagram to permit backing out
objects whose first phase commits's Future Booleans have not yet
returned.  This commit doesn't actually make the change, it just adds
documentation for how the new state diagram will behave.
Updated state machine in AtomicActiveEvent.  Added a hardware pushing
state representing state where an event is waiting on the future an
object returns from begin_first_phase_commit.  Still need to allow
object to preempt an event that's in this state.
Should be allowing backing out objects in hardware pushing state.  Still a bug.  Also, causes test failure in interruptedspeculatertest.
Apparently, had left in some debugging code.