Change the Reader/Writer module structure

Replace FileReader, PageReader, FileWriter and PageWriter with jus two
functors - MakeReader and MakeWriter. Each of these is parameterised by
transport method (i.e. file/page) as well as by protocol.

Signed-off-by: John Else <john.else@citrix.com>