MessageDirector: Improve in-method and private documentation for program flow clarity.
DatagramIterator: Document methods in DatagramIterator.h
MessageDirector: Fix logging typo
MDParticipantInterface: List assumptions made about implementation.
Merge pull request #20 from OpenOTP/kestred

Misc Documentation stuff.
Merge pull request #21 from OpenOTP/mmavipc

Pull in RoleFactory.
test/test_messagedirector: fix socket binding
Merge pull request #22 from OpenOTP/kestred-fix-test-sockets

test/test_messagedirector: fix socket binding
tests: Handle unexpected socket connection closure.
tests: Use EOFError instead of socket.error to report unexpected connection closure.
tests: Fix bug with expect_multi causing it to miss some Datagrams.
tests: Add "only" to expect_multi, allowing tests to specify that extra datagrams result in failure.
doc: Rename STATESERVER_ADD_AI_RECV message to STATESERVER_OBJECT_SET_AI_CHANNEL.
tests: Begin work on State Server tests.
tests: Add broadcast test to State Server unit test.
tests: Add State Server tests for airecv fields and AI channels.
tests: Change State Server's airecv test to clean up after itself.
Merge remote-tracking branch 'origin/cfsworks-tests-stateserver' into stateserver