Presage/Presage2 — pull request #64 by sammacbeth (2014-12-01 19:00:50+00:00)
Title: Messaging reimplementation

This is a rewrite of the inter-agent communication to fix compatability with the 0.4.x API changes, and to properly pass messages through the environment state. There are also some side-effect changes to the simulation loop to simplify caching at the environment service level.

* New schedule function group, 'PreStep', which executes before 'Step' functions.
* Reorganisation of RunnableSimulation to make test instrumentation easier. `initialise` and `step` are now public so you can step through simulations in test.
* Network has moved into the util module.
* BasicNetworkConnector as a participant environment service for inter-agent communication (using the old NetworkAdaptor interface).
* MessageHandler as an ActionHandler for message actions, and a global environment service for determining when messages can be sent and who is connected to who.
* NetworkModule provides Guice bindings for the above.
* NetworkRangeConstraint as an implementation of a network constraint, as in the previous implementation.
* Includes integration tests and messaging within a mock simulation.

Remaining issues are:

* Protcols need to be updated to new interface locations and tested with the new implementation.