new Reader class, recover state on restart

new singlereader class
singlereader used to restore existing snapshot data on restart of
MetricAgent
added snapshotconverter

helper command line app that can read a snapshot file, unpack it and
write the contents as tab-delimited to console
Decouple MetricAgent plot from sink instances

SingleReader now an ISnapshotProvider
MetricAgent configures plotters with a reader, now they're snapshot
providers
Unresolved design tension between Reader,Writer,
SnapshotProvider,Consumer and IDataStore
small rationalisation of writer, reader methods