Listener address by (NodeId, String)

* change type of send to accept Routable
* change Listener and helper function types
* test *persistent* listeners with second Agent process
introduce (result) History server

* Define HistoryBackend, to set the stage for the LevelDB
implementation.

* create the callServer/castServer and associated EitherT types

* check-in ommitted AcidState.hs
directory restructure

extract leveldb & purge dead code
resolve (Peer, String) using (Nodeid, String)

* Platform __remoteTable included in Agent's remoteTable
plugins can define servers
use defineServer less boilerplate
refactor AgentContext/Config/Plugin