Updated
added
Added older pdf document.

Need to update this.
Generic tidy-up

Moving from old style.
More tidy-up of code.
Added source of manual.

Needs assembling into a single document, reformatting and choosing a
new document format.
Fixed building unit tests.
Removed unnecessary imports.
Restructured tests away from examples and fixed up junit.
Moved save/restore files to build dir for tests.
Added more unit tests.
Added more unit tests and fixed a few bugs in the process.
Tidied up example code. Added more unit tests.
Prevent circular activation in activateAfter.
Yet more unit tests.
merged
tidyup
Cleanup removes class files and subversion directories that were hanging around
-- Added construction of the tigger queue to the constructors so that this will
   run without a null pointer exception
-- Removed synchronized keywords to avoid a race condition (activating something
   in the trigger queue could potentially invoke a process that tries to release
   this semaphore itself (or get it).  In either case this deadlocks even if
   there are resources available in the semaphore due to the syncronization
   interplay with the tirgger queue.
-- Removed the check for maximum number of resources since there is not a way to
   create a Semaphore without any upper limit.  This is a difference from the
   c++ version.  I'm not sure this is the right way to fix this issue, but it
   works for my use case.
Removed the exit in case of empty scheduler queue.  If there is an existing
process that has gone passive/idle while the last process in the queue exits,
it won't get reactivated in the next call to schedule and so the very last thing
won't be done.  Removing the exit fixed this.  I should note that this occured
using many simulation entities involving semaphores, waitFor -- termiation,
waitFor -- semaphore, and waitFor -- trigger.  It is possible there is a more
elegant solution.