Functorise the shared memory transport

over
  * ACTIVATIONS: needed for read/write
  * DOMAIN_LIST: needed to detect connection closes?
  * FOREIGN_PAGE_MAPPER: needed to map rings

Signed-off-by: David Scott <dave.scott@citrix.com>