Process(...) now a function member of AppMsgHelper

This allows different message protocol implementations to pass in
different message processing functions. Right now we have hard coded the
existing Process method, which is now called reliableMsgProcessor.

In the future we will provide different implementations of coordinate
which will use different message protocols. Primarily this has been done
to allow for a low overhead in-memory protocol to be used while the
existing reliable network protocol is further developed.
Coordinate(...) changed to Reliable(...)

This indicates the message protocol that is being used. Here we only
have the reliable messaging protocol. But simpler ones will be
introduced in the near future.

As part of this we have merged listen.go and respond.go into
reliable.go.
Added InMemory(...) coordinator

This coordinator assumes perfect in-order message transmission. It is
intended to be used when communicating within the same process.